这里:题意输出第一个进教室的,最后一个出教室的;把时间转换一下;
在这里插入代码片
#include<iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Person{
string ID;
string in;
string out;
};
int to_time(string a){
int time = (a[0] - '0') * 36000 + (a[1] - '0')*3600 + (a[3] - '0')*600 + (a[4] - '0')*60 + (a[6] - '0') + (a[7] - '0');
return time;
}
bool cmp(Person a,Person b){
return to_time(a.in) < to_time(b.in);
}
bool cmp_out(Person a,Person b){
return to_time(a.out) > to_time(b.out);
}
int main(){
int M;
cin >> M;
Person per[M];
for(int i = 0; i < M;i++) cin >> per[i].ID >> per[i].in >> per[i].out;
sort(per,per+M,cmp);
cout << per[0].ID <<" ";
sort(per,per+M,cmp_out);
cout << per[0].ID<<endl;
}``