【思路】:简单排序后取到达时间最小,离开时间最大。
【注意】: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;
}