【结构体排序】HDU1234开门人和关门人

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wlxsq/article/details/77946853

题目链接: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;
}


猜你喜欢

转载自blog.csdn.net/wlxsq/article/details/77946853