题目分析:由于不存在相同的两个时间(24:00:00和00:00:00不会同时存在),则我们假设两个全局变量存放到达的最早的时间和达到的最晚的时间,设置最早的初值为“23:59:59”,设置最晚的初值为“00:00:00”,只要一个人到达的时间比最早的早则更新最早时间同时将id记录下来,最晚的情况也是同样的
[url=]
[/url]
[/url]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
}[url=]
[/url]
[/url]