hdu1234开门人和关门人

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1234

就是水。。。

#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

const int maxn = 1000;
struct record{
    int starth,startm,starts;
    int endh,endm,ends;
    char name[20];
}ac[maxn + 5];

bool cmp1(struct record x,struct record y)

{
    if(x.starth != y.starth)
        return x.starth < y.starth;
    else if(x.startm != y.startm)
        return x.startm < y.startm;
    else if(x.starts != y.starts)
        return x.starts < y.starts;
}

bool cmp2(struct record x,struct record y)

{
    if(x.endh != y.endh)
       return x.endh > y.endh;
    else if(x.endm != y.endm)
        return x.endm > y.endm;
    else if(x.ends != y.ends)
        return x.ends > y.ends;
}
int main()

{
    int n,m;
    scanf("%d",&n);
    while(n--)
    {
        char s1[20],s2[20];
        scanf("%d",&m);
        for(int i = 0;i < m;++i)
        {
            scanf("%s",ac[i].name);
            scanf("%d:%d:%d",&ac[i].starth,&ac[i].startm,&ac[i].starts);
            scanf("%d:%d:%d",&ac[i].endh,&ac[i].endm,&ac[i].ends);
        }
        sort(ac,ac + m,cmp1);
        strcpy(s1,ac[0].name);
        sort(ac,ac + m,cmp2);
        strcpy(s2,ac[0].name);
        printf("%s %s\n",s1,s2);
       /* for(int i = 0;i < m;++i)
        {
            printf("%s %d:%d:%d %d:%d:%d\n",ac[i].name,ac[i].starth,ac[i].startm,ac[i].starts,ac[i].endh,ac[i].endm,ac[i].ends);
        }*/
    }
}

你可能感兴趣的:(模拟,ACM,水题)