题解
原题链接
比较简单的想法,设置一个ulk和lk字符串保存开门和关门人的ID,变量ulk_time和lk_time保存当前开关门时间,N次读入,每次读入分别比较一下时间并更新变量,最后输出ulk和lk
AC代码
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int N, ulk_time, lk_time;
string tmp, ulk, lk;
ulk_time = 24*60*60;
lk_time = 0;
cin >> N;
for (int i=0; i<N; i++)
{
int time1, time2;
int hour1, mini1, sec1;
int hour2, mini2, sec2;
cin >> tmp;
scanf("%d:%d:%d",&hour1,&mini1,&sec1);
scanf("%d:%d:%d",&hour2,&mini2,&sec2);
time1=hour1*60*60+mini1*60+sec1;
time2=hour2*60*60+mini2*60+sec2;
if (time1 < ulk_time) //比较到达时间
{
ulk = tmp;
ulk_time = time1;
}
if (time2 > lk_time) //比较离开时间
{
lk = tmp;
lk_time = time2;
}
}
cout << ulk << " " << lk;
return 0;
}
end