知识点:字符串处理
#include <cstdio>
#include <cstring>
inline int calc(char *tmp) //计算时间。都换算成秒,就可以比较大小了
{
return ((tmp[0]-'0')*10+(tmp[1]-'0'))*3600+((tmp[3]-'0')*10+(tmp[4]-'0'))*60+
(tmp[6]-'0')*10+(tmp[7]-'0');
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int m;
scanf("%d",&m);
char num[m][16];
int min=0,max=0; //分别记录最早来的编号、最晚走的编号
int time_min,time_max; //分别记录最早来的时间、最晚走的时间
char tmp1[10],tmp2[10];
scanf("%s%s%s",num[0],tmp1,tmp2);
time_min=calc(tmp1),time_max=calc(tmp2);
for(int i=1;i<m;i++)
{
scanf("%s%s%s",num[i],tmp1,tmp2);
int time=calc(tmp1);
if(time_min>time)
{
min=i;
time_min=time;
}
time=calc(tmp2);
if(time_max<time)
{
max=i;
time_max=time;
}
}
printf("%s %s\n",num[min],num[max]);
}
return 0;
}