题目说明:
用户访问系统,找出最早访问和最晚离开的人
输入输出解释:
Sample Input:
3 //共三个用户
CS301111 15:30:28 17:00:10 //用户名、访问时间离开时间
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40
Sample Output:
SC3021234 CS301133 //SC3021234 8点访问系统,最早;CS301133 21点58分离开系统,最晚
思路:
将每个user存入vector数组,根据in的时间排序一次,输出最小值user的ID,out相反
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
struct users
{
string ID;
string in, out;
};
bool cmp_in(users u1, users u2)
{
return u1.in < u2.in;
}
bool cmp_out(users u1, users u2)
{
return u1.out > u2.out;
}
int main()
{
int n;
cin>>n;
vector<users>u(n);
for(int i = 0; i < n; i++)
{
string t1, t2, t3;
cin>>t1>>t2>>t3;
u[i].ID = t1;
u[i].in = t2;
u[i].out = t3;
}
sort(u.begin(), u.end(), cmp_in);
cout<<u[0].ID<<' ';
sort(u.begin(), u.end(), cmp_out);
cout<<u[0].ID;
}