题意分析:
(1)给出N个人的出入记录,每条记录包含ID、进入时间、出去时间,找出最早进入房间、最晚走出房间的人的ID
(2)用自定义结构体描述一个人的ID、进出时间;在输入记录的时候,边输入边维护两个string(first、last)变量和两个int(max、min)变量,将当前的对应的最早时间的人的ID赋值给first,最晚时间的ID赋值给last;
可能坑点:
(1)max初始化为0,min初始化为24*3600
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
int num,i=0;
cin>>num;
string first_num,last_num;
int first=24*3600;
int last=0;
int check_in,check_out;
int hh,mm,ss;
string stu;
while(i<num)
{
cin>>stu;
scanf("%d:%d:%d",&hh,&mm,&ss);
check_in=hh*3600+mm*60+ss;
if(check_in<first)
{
first=check_in;
first_num=stu;
}
scanf("%d:%d:%d",&hh,&mm,&ss);
check_out=hh*3600+mm*60+ss;
if(check_out>last)
{
last=check_out;
last_num=stu;
}
i++;
}
cout<<first_num<<" "<<last_num<<endl;
return 0;
}