/*
#include <stdio.h>
int sum;
int f(long long int n)
{
if(n==0) return;
if(n<10) return n;
else
{
return n%10+f(n/10);
}
}
int main()
{
long long int n;
scanf("%lld", &n);
f(n);
printf("%d", f(n));
return 0;
}
#include <stdio.h>
int memo[26][26]={};
int f(int u, int m)
{
if(memo[u][m]!=0) return memo[u][m];
if(m==1||m==u) return 1;
return memo[u][m]=(f(u-1,m)+f(u-1,m-1));
}
int main()
{
int u,m;
scanf("%d %d", &u ,&m);
printf("%d", f(u,m));
return 0;
}
구조체 : 사용자 정의 자료형
내가 만드는 자료형
학생 100명의 나이(int)와 성적('a','b',,,)을 관리
int age[100];
char grade[100];
#include <stdio.h>
//구조체 선언
typedef struct{
//구조체의 멤버
int age;
char grade;
}student;
int main()
{
student arr[100]; // arr[0] ~ arr[99]
arr[0].age=10;
scanf("%d",&arr[i].age);
}
석차 = 등수 = 나보다 잘한애 명수 +1
*/
/*
#include <stdio.h>
typedef struct
{
int age;
int dor;
} songbok;
int main()
{
int n,m,i,j;
songbok arr[201];
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d",&arr[i].age);
}
for(i=1; i<=n; i++)
{
//arr[i]의 등수 구하기
int cnt=0;
for(j=1;j<=n;j++)
{
if(arr[i].age<arr[j].age)
{
cnt++;
}
}
arr[i].dor=cnt+1;
}
for(i=1; i<=n; i++)
{
printf("%d %d\n",arr[i].age, arr[i].dor );
}
}
*/
#include <stdio.h>
typedef struct
{
int contury;
int num;
int score;
}student;
int main()
{
student arr[201];
int m,n,i,j,gold,silver;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d %d %d",&arr[i].contury, &arr[i].num, &arr[i].score);
}
// 금 : 제일 높은 점수인 학생의 위치 (i 값)를 구하기. 나라,번호 출력, 점수 0점처리
// 은 : "
// ** if(금메달나라==은메달나라) 그 나라에 속한 학생 점수 모두 0점처리
// 동 : "
for(i=1; i<=3; i++)
{
int mi=1; //
for(j=1; j<=n; j++)
{
if(arr[mi].score<arr[j].score)
{
mi=j;
}
}
//제일 높은 점수인 학생의 위치 (i 값)를 구하기. 나라,번호 출력, 점수 0점처리
printf("%d %d\n",arr[mi].contury, arr[mi].num);
arr[mi].score=0;
if(i==1) gold=mi;
if(i==2) silver=mi;
if(i==2){
//if(금메달나라==은메달나라) 그 나라에 속한 학생 점수 모두 0점처리
if(arr[gold].contury==arr[silver].contury)
{
for(j=1;j<=n;j++)
{
if(arr[j].contury==arr[gold].contury)
{
arr[j].score=0;
}
}
}
}
}
return 0;
}v