解题思路+技巧
设置一个边界最早时间,和边界最晚时间。每次输入进行更新,同时得到开门人id与关门人id。在比较时间时由于采用的是24小时制,可以直接使用字符串的比较,无需进行处理。
代码
#include <iostream>
using namespace std;
typedef struct{
string id,login,logout;
}user;
int main(){
string lock,unlock;
int n;
user temp;
cin>>n;
string intime = "24:24:24", outtime = "00:00:00";
for(int i = 0; i < n; i++){
cin>>temp.id>>temp.login>>temp.logout;
if(temp.login < intime){
unlock = temp.id;
intime = temp.login;
}
if(temp.logout > outtime){
lock = temp.id;
outtime = temp.logout;
}
}
cout<<unlock<<" "<<lock;
return 0;
}