概述
#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
using namespace std;
class Person
{
public:
char id[50];
int cometime;
int lefttime;
};
int comparecometime(const void *a,const void *b)
{
return ((Person*)a)->cometime-((Person*)b)->cometime;
}
int comparelefttime(const void *a,const void *b)
{
return ((Person*)a)->lefttime-((Person*)b)->lefttime;
}
int main()
{
int N,M;
scanf("%d",&N);
getchar();
while(N--)
{
scanf("%d",&M);
getchar();char temp[50];char come[50];char left[50];
Person p[100];int i;
for(i=0;i<M;i++)
{
scanf("%s",temp);
strcpy(p[i].id,temp);
//getchar();
scanf("%s",come);
//getchar();
p[i].cometime=
(come[7]-'0')+(come[6]-'0')*10 //分
+( (come[4]-'0')+(come[3]-'0')*10 )*60
+( (come[1]-'0')+(come[0]-'0')*10 )*3600;
scanf("%s",left);
p[i].lefttime=
(left[7]-'0')+(left[6]-'0')*10 //分
+( (left[4]-'0')+(left[3]-'0')*10 )*60
+( (left[1]-'0')+(left[0]-'0')*10 )*3600;
}
qsort(p,M,sizeof(Person),comparecometime);
cout<<p[0].id<<" ";
qsort(p,M,sizeof(Person),comparelefttime);
cout<<p[M-1].id<<endl;
}
return 0;
}
/*
1 strcpy(d,r)
2 qsort(首地址,个数,sizeof(class),comepare);
3 //因为很久没有用排序啦,所以这一次有点吃力。再查自己的博客。如果有一点acm啦。中么办。
最简单的方法就是提前背会。熟练应用。
*/
最后
以上就是雪白枫叶为你收集整理的hdoj 1234(结构体排序)的全部内容,希望文章能够帮你解决hdoj 1234(结构体排序)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复