题目分析:由于不存在相同的两个时间(24:00:00和00:00:00不会同时存在),则我们假设两个全局变量存放到达的最早的时间和达到的最晚的时间,设置最早的初值为“23:59:59”,设置最晚的初值为“00:00:00”,只要一个人到达的时间比最早的早则更新最早时间同时将id记录下来,最晚的情况也是同样的
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 int main(){ 6 int n; 7 while(scanf("%d", &n) != EOF){ 8 string name1 = "xxx"; 9 string name2 = "xxx"; 10 string time_in = "23:59:59"; 11 string time_out = "00:00:00"; 12 string id, in, out; 13 for(int i = 1; i <= n; i++){ 14 cin>>id>>in>>out; 15 if(in <= time_in){ 16 time_in = in; 17 name1 = id; 18 } 19 if(out >= time_out){ 20 time_out = out; 21 name2 = id; 22 } 23 } 24 cout<<name1<<" "<<name2<<endl; 25 } 26 return 0; 27 }