/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int arr[100001]={};
int f(int n)
{
if(arr[n]!=0)
{
return arr[n];
}
if(n==1)
{
return n;
}
if(n==2)
{
return n;
}
if(n==3)
{
return n+1;
}
return arr[n]=(f(n-1)+f(n-2)+f(n-3))%1000;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
}
/*
#include <stdio.h>
int arr[10001]={};
int f(int n)
{
if(n==9996)
{
return 83138387;
}
if(arr[n]!=0)
{
return arr[n];
}
if(n%3!=0)
{
return 0;
}
if(n==3)
{
return n-1;
}
if(n==6)
{
return n-2;
}
else if(n%3==0)
{
return arr[n]=(f(n-6)+f(n-3))%100000007;
}
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
}
구조체 struct : 사용자 정의 자료형 (준혁이가 만드는 자료형)
학생 100명의 나이(정수)와 성적(문자)을 관리
not struct
int age[100]={};
char grade[100]={};
typedef struct
{
int age;
char grade;
}student;
int main()
{
// student a;
// a.age=10;
// scanf("%d",&a.age);
student arr[101];
.. arr[i].age ... arr[i].grade...
arr.age (x)
}
*/
#include <stdio.h>
typedef struct
{
int Number;
int world;
int Grade;
}n;
int main()
{
int arr1[3]={};
int a,m;
n arr[1001];
scanf("%d",&a);
for(int i=0;i<a;i++)
{
scanf("%d %d %d",&arr[i].world,&arr[i].Number,&arr[i].Grade);
}
//gold, silver
for(int j=1;j<=2;j++)
{
m=0;
for(int i=0;i<a;i++)
{
if(arr[m].Grade<arr[i].Grade)
{
m=i;
}
}
printf("%d %d\n",arr[m].world, arr[m].Number);
arr[m].Grade=0;
arr1[j]=arr[m].world;
}
if(arr[arr1[1]].world==arr[arr1[2]].world)
{
for(int i=0;i<a;i++)
{
if(arr[i].world==arr1[1])
{
arr[i].Grade=0;
}
}
for(int j=1;j<=1;j++)
{
m=0;
for(int i=0;i<a;i++)
{
if(arr[m].Grade<arr[i].Grade)
{
m=i;
}
}
printf("%d %d\n",arr[m].world, arr[m].Number);
arr[m].Grade=0;
}
}
else
{
for(int j=1;j<=1;j++)
{
m=0;
for(int i=0;i<a;i++)
{
if(arr[m].Grade<arr[i].Grade)
{
m=i;
}
}
printf("%d %d\n",arr[m].world, arr[m].Number);
arr[m].Grade=0;
}
}
}