您的位置:首页 > 其它

PAT_1006. Sign In and Sign Out

2017-03-30 16:54 246 查看
//
// main.cpp
// PAT_1006. Sign In and Sign Out
//
// Created by wjq on 17/3/30.
// Copyright © 2017年 wjq. All rights reserved.
//

#include <iostream>
#include <string.h>
#include <algorithm>
using namespacestd;
struct Time
{
int HH,MM,SS;
};
struct Student
{
char name[20];
Time timein;
Time timeout;
}stu[1005];
bool cmpWhoUnlocked(Student a,Student b)
{
if(a.timein.HH<b.timein.HH)
returntrue;
elseif(a.timein.HH==b.timein.HH)
{
if(a.timein.MM<b.timein.MM)
returntrue;
elseif(a.timein.MM==b.timein.MM)
return a.timein.SS<a.timein.SS;
}
returnfalse;
}
bool cmpWhoLocked(Student a,Student b)
{
if(a.timeout.HH>b.timeout.HH)
returntrue;
elseif(a.timeout.HH==b.timeout.HH)
{
if(a.timeout.MM>b.timeout.MM)
returntrue;
elseif(a.timeout.MM==b.timeout.MM)
return a.timeout.SS>a.timeout.SS;
}
returnfalse;
}
int main()
{
int M;
cin>>M;
for(int i=0;i<M;i++)
{
scanf("%s",stu[i].name);
scanf("%d:%d:%d:",&stu[i].timein.HH,&stu[i].timein.MM,&stu[i].timein.SS);
scanf("%d:%d:%d:",&stu[i].timeout.HH,&stu[i].timeout.MM,&stu[i].timeout.SS);
}
sort(stu,stu+M,cmpWhoUnlocked);
cout<<stu[0].name<<" ";
sort(stu,stu+M,cmpWhoLocked);
cout<<stu[0].name;
}


简单题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: