就是水。。。
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int maxn = 1000;
struct record{
int starth,startm,starts;
int endh,endm,ends;
char name[20];
}ac[maxn + 5];
bool cmp1(struct record x,struct record y)
{
if(x.starth != y.starth)
return x.starth < y.starth;
else if(x.startm != y.startm)
return x.startm < y.startm;
else if(x.starts != y.starts)
return x.starts < y.starts;
}
bool cmp2(struct record x,struct record y)
{
if(x.endh != y.endh)
return x.endh > y.endh;
else if(x.endm != y.endm)
return x.endm > y.endm;
else if(x.ends != y.ends)
return x.ends > y.ends;
}
int main()
{
int n,m;
scanf("%d",&n);
while(n--)
{
char s1[20],s2[20];
scanf("%d",&m);
for(int i = 0;i < m;++i)
{
scanf("%s",ac[i].name);
scanf("%d:%d:%d",&ac[i].starth,&ac[i].startm,&ac[i].starts);
scanf("%d:%d:%d",&ac[i].endh,&ac[i].endm,&ac[i].ends);
}
sort(ac,ac + m,cmp1);
strcpy(s1,ac[0].name);
sort(ac,ac + m,cmp2);
strcpy(s2,ac[0].name);
printf("%s %s\n",s1,s2);
/* for(int i = 0;i < m;++i)
{
printf("%s %d:%d:%d %d:%d:%d\n",ac[i].name,ac[i].starth,ac[i].startm,ac[i].starts,ac[i].endh,ac[i].endm,ac[i].ends);
}*/
}
}