【結構體排序】HDU1234開門人和關門人
阿新 • • 發佈:2018-12-30
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1234
#include<bits/stdc++.h> using namespace std; const int N=10005; typedef struct time{ int h,m,s; }Node; struct node{ string s; Node in; Node out; }stu[N]; bool cmp(node a,node b) { if(a.in.h!=b.in.h) return a.in.h<b.in.h; if(a.in.m!=b.in.m) return a.in.m<b.in.m; if(a.in.s!=b.in.s) return a.in.s<b.in.s; } bool cmp2(node a,node b) { if(a.out.h!=b.out.h) return a.out.h>b.out.h; if(a.out.m!=b.out.m) return a.out.m>b.out.m; if(a.out.s!=b.out.s) return a.out.s>b.out.s; } int main() { int t,n; cin>>t; while(t--) { cin>>n; for(int i=0;i<n;i++){ cin>>stu[i].s; char a; cin>>stu[i].in.h>>a>>stu[i].in.m>>a>>stu[i].in.s; cin>>stu[i].out.h>>a>>stu[i].out.m>>a>>stu[i].out.s; } sort(stu,stu+n,cmp); cout<<stu[0].s<<' '; sort(stu,stu+n,cmp2); cout<<stu[0].s<<endl; } return 0; }