1006. Sign In and Sign Out
这道题。。。还是不知道自己错在了那里。。。每次都只有一个测试点通不过要闹哪样
#include <string> #include <iostream> using namespace std; typedef struct{ int hour; int min; int sec; }mytime; struct name{ string name; mytime start; mytime end; }; int main(void){ int n; char temp; string startname,endname; struct name stu[65536]; cin>>n; for(int k=0;k<n;k++){ cin>>stu[k].name; cin>>stu[k].start.hour>>temp>>stu[k].start.min>>temp>>stu[k].start.sec; cin>>stu[k].end.hour>>temp>>stu[k].end.min>>temp>>stu[k].end.sec; } mytime early,late; early.hour=23; early.min=early.sec=59; late.hour=0; late.min=late.sec=0; for(int k=0;k<n;k++){ if(stu[k].start.hour<=early.hour){ if(stu[k].start.min<=early.min){ if(stu[k].start.sec<=early.sec){ early.hour=stu[k].start.hour; early.min=stu[k].start.min; early.sec=stu[k].start.sec; startname=stu[k].name; } } } } for(int k=0;k<n;k++){ if(stu[k].end.hour>=late.hour){ if(stu[k].end.min>=late.min){ if(stu[k].end.sec>=late.sec){ late.hour=stu[k].end.hour; late.min=stu[k].end.min; late.sec=stu[k].end.sec; endname=stu[k].name; } } } } cout<<startname<<" "<<endname<<endl; return 0; }
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,i; scanf("%d",&n); char id[15],in[10],out[10]; char firstId[15],lastId[15],firstIn[10],lastOut[10]; int flag = 1; for(i=0; i<n; i++){ scanf("%s %s %s",id,in,out); if(flag){ flag = 0; strcpy(firstId,id); strcpy(lastId,id); strcpy(firstIn,in); strcpy(lastOut,out); }else{ if(strcmp(in,firstIn) < 0) strcpy(firstIn,in), strcpy(firstId,id); if(strcmp(out,lastOut) > 0) strcpy(lastOut,out), strcpy(lastId,id); } } printf("%s %s",firstId,lastId); return 0; }

浙公网安备 33010602011771号