题目

解题思路

本题就是简单的时间处理,即如何处理带有时分秒的数据,我用scanf的格式输入来处理时间,然后用int型变量对其时分秒进行求和比较大小,这样比较方便。具体实现代码如下:

实现代码

#include<iostream>
#include<cstdio>
#include<vector>
#include<cstring>
#include<queue>
#include<sstream>
#include<algorithm>
using namespace std;

string str1,str2,str3;
int h1,m1,s1,h2,m2,s2;
int temp1=0x3fffffff,temp2=0;
int sum1,sum2;
int main()
{
#ifdef ONLINE_JUDGE                
#else    
    freopen("1.txt", "r", stdin);
#endif 

    int N;
    cin>>N;

    for(int i=0;i<N;++i)
    {
        cin>>str1;
        scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
        sum1=h1*3600+m1*60+s1;
        sum2=h2*3600+m2*60+s2;

        if(temp1>sum1)
        {
            str2=str1;
            temp1=sum1;
        }

        if(temp2<sum2)
        {
            str3=str1;
            temp2=sum2;
        }
    }

    cout<<str2<<" "<<str3;
}

总结

本题难点就是对时间的处理,该实现是一种通用的方式。


lionの金库