找出最早签到与最晚签出
题目描述
每天第一个到机房的人负责开门,最后一个从机房离开的人负责锁门。
现在,给定每个人的签到与签出记录,请你找出当天开门的人以及锁门的人分别是谁。
样例
3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40
输出样例:
SC3021234 CS301133
C++ 代码
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
string early_Sign_in_time = "24:00:00";
string lastest_Sign_out_time = "00:00:00";
string early_Sign_in_name = "" , lastest_Sign_out_name = "";
while(n--)
{
string ID_number, Sign_in_time, Sign_out_time;
cin>>ID_number>>Sign_in_time>>Sign_out_time;
if(Sign_in_time<early_Sign_in_time) //如果输入的时间小于最早签入时间就更新,并且存下编号,因为最早签入时间初始很晚,所以一开始肯定会更新。
{
early_Sign_in_time = Sign_in_time;
early_Sign_in_name = ID_number;
}
if(Sign_out_time>lastest_Sign_out_time)
{
lastest_Sign_out_time = Sign_out_time;
lastest_Sign_out_name = ID_number;
}
}
cout<<early_Sign_in_name<<" "<<lastest_Sign_out_name<<endl;
}