题目链接:http://vjudge.net/problem/HDU-1234
刚开始用了结构体觉得比较方便,后来想想,比较的时候临时变量也可以更新,可以不用结构体啊。
贴的还是结构体代码:(其实come和left都可以用一个临时变量,我们要做的只是更新i,ans_1,ans_2就行)
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <iostream> 5 #include <algorithm> 6 #include <string> 7 #include <cstdlib> 8 9 using namespace std; 10 11 typedef struct 12 { 13 char id[100]; 14 int come; 15 int left; 16 }people; 17 18 int main() 19 { 20 int t,i,n,hour,minute,second; 21 people x[100]; 22 scanf("%d",&t); 23 while(t--) 24 { 25 int early=1000000,late=0,ans_1,ans_2; 26 scanf("%d",&n); 27 for(i=1;i<=n;i++) 28 { 29 scanf("%s",x[i].id); 30 scanf("%d:%d:%d",&hour,&minute,&second); 31 x[i].come=3600*hour+60*minute+second; 32 if(x[i].come<early) 33 { 34 early=x[i].come; 35 ans_1=i; 36 } 37 scanf("%d:%d:%d",&hour,&minute,&second); 38 x[i].left=3600*hour+60*minute+second; 39 if(x[i].left>late) 40 { 41 late=x[i].left; 42 ans_2=i; 43 } 44 } 45 printf("%s %s ",x[ans_1].id,x[ans_2].id); 46 } 47 return 0; 48 }