输入样例
3
1
ME3021112225321 00:00:00 23:59:59
2
EE301218 08:05:35 20:56:35
MA301134 12:35:45 21:40:42
3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40
输出样例
ME3021112225321 ME3021112225321
EE301218 MA301134
SC3021234 CS301133
在这里插入代码片#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
struct people{
string sfz;
string begin;
string end;
};
//固定找0位置最前面的 小于是最早
bool cmp1(people a,people b){
return a.begin<b.begin;
}
//固定找0位置最前面的 大于是最晚
bool cmp2(people a,people b){
return a.end>b.end;
}
int main(){
int n,t;
people p[1000];//定义people类型的变量
scanf("%d",&n);
while(n--){ //用while比for简单一点
scanf("%d",&t);
for(int i=0;i<t;i++)
cin>>p[i].sfz>>p[i].begin>>p[i].end;
//这是定义的people类型的变量,是一串,
//别总想成是一个一个字母把自己绕进去
sort(p,p+t,cmp1);
cout<<p[0].sfz<<" ";//根据题意先输出开门的第一人 空格
//每次都是p[0],就固定这个人的位置,把时间最早或最晚的安上去
sort(p,p+t,cmp2);//比较的东西,比较的个数,比较方式
cout<<p[0].sfz<<"\n";//输出关门的人 回车!
}
return 0;
}