PAT-1006 Sign In and Sign Out

题目

 

 解题思路:

对时间进行排序即可

#include <bits/stdc++.h>

using namespace std;
struct node{
    string name;
    int be,en;
}stu[100000];
int format(string s){
    return ((s[0]-'0')*10+(s[1]-'0'))*3600+((s[3]-'0')*10+(s[4]-'0'))*60+(s[6]-'0')*10+(s[7]-'0');
}
bool cmp(node a,node b){
    return a.be<b.be;
}
bool cmp2(node a,node b){
    return a.en>b.en;
}
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        string be,en;
        cin>>stu[i].name>>be>>en;
        stu[i].be = format(be);
        stu[i].en = format(en);
    }
    sort(stu,stu+n,cmp);
    cout<<stu[0].name;
    sort(stu,stu+n,cmp2);
    cout<<" "<<stu[0].name<<endl;
    return 0;
}

 

posted @ 2020-12-13 13:28  grass_lin  阅读(43)  评论(0编辑  收藏  举报