题目来源
#include<iostream>
#include<climits>
using namespace std;
int main()
{
int n,min=INT_MAX,max=INT_MIN;
cin>>n;
string unlock,lock;
for(int i=0;i<n;i++)
{
strint t;
cin>>t;//名字
int s1,f1,m1,s2,f2,m2;//进入时间和出去时间
cin>>s1>>f1>>m1>>s2>>f2>>m2;
int t1=s1*3600+f1*60+m2;
int t2=s2*3600+f2*60+m2;
if(t1<min)
{
min=t1;
unlock=t;
}
if(t1>max)
{
max=t1;
lock=t;
}
}
cout<<unlock<<" "<<lock<<endl;
return 0;
}
#include <iostream>
using namespace std;
时间字符串ascall码随时间单调增,故可以直接采用字符串比较无需将数字提取出来再比较.
int main() {
int n;
cin>>n;
string early_begin="24:00:00";
string latest_end="00:00:00";
string ans_begin,ans_end;
for(int i=0;i<n;i++)
{
string number,begin,end;
cin>>number>>begin>>end;
if(begin<early_begin)
{
early_begin=begin;ans_begin=number;
}
if(end>latest_end)
{
latest_end=end;ans_end=number;
}
}
cout<<ans_begin<<" "<<ans_end<<endl;
return 0;
}
#include<iostream>
using namespace std;
const int n=10001;
int a[n];
int main()
{
string open_time,open_id;
string close_time,close_id;
int m;
cin>>m;
for(int i=0;i<m;i++)
{
string id,in_time,out_time;
cin>>id>>in_time>>out_time;
//更新开嫩的人
if(!i||in_time<open_time)
{
open_id=id;
open_time=in_time;
}
//更新关门的人
if(!i||out_time>close_time)
{
close_id=id;
close_time=out_time;
}
}
cout<<open_id<<" "<<close_id<<endl;
return 0;
}