【思路】:简单排序后取到达时间最小,离开时间最大。
【注意】:qsort用法:qsort(num,100,sizeof(num[0]),cmp)。*(int*)a 的意思是首先a是一个指针,然后把a转换成int型指针后取a的值。
【AC代码】:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
#define MAX 20
struct Person
{
char lic[MAX];
char arr[MAX];
char lea[MAX];
};
int cmp_arr(const void *a, const void *b)
{
return strcmp((*(Person *)a).arr, (*(Person *)b).arr);
}
int cmp_lea(const void *a, const void *b)
{
return strcmp((*(Person *)a).lea, (*(Person *)b).lea);
}
int main()
{
//freopen("in.txt", "r", stdin);
int T = 0;
cin >> T;
while (T--)
{
int i = 0, n = 0;
Person per[1000];
cin >> n;
for (i = 0; i < n; i++)
{
cin >> per[i].lic >> per[i].arr >> per[i].lea;
}
qsort(per, n, sizeof(Person), cmp_arr);
cout << per[0].lic << " ";
qsort(per, n, sizeof(Person), cmp_lea);
cout << per[n-1].lic << endl;
}
return 0;
}
最后
以上就是积极板凳最近收集整理的关于HDOJ 1234 开门人和关门人(排序)(浙大2005研究生复试)的全部内容,更多相关HDOJ内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复