2019-08-07 A1006 Sign In and Sign Out

虽然1006与b1004和b1028的思路大致相同,但这道题我一开始并没有什么思路,总想着先把数据一股脑输进去再说,结果导致数据没经过处理,接下来不知道如何操作。因此这道题其实只是对数据进行了下把时间都转换成总秒数,然后再比较大小这一步处理,之后就比较容易进行下去:

#include 
#include 
using namespace std;
int main() {
    int m, mintime = INT_MAX, maxtime = INT_MIN;
    string unlock, lock;
    scanf("%d", &m);
    for(int i = 0; i < m; i++){
        string id;
        cin >> id;
        int h1, m1, s1, h2, m2, s2;
        scanf("%d:%d:%d %d:%d:%d", &h1, &m1, &s1, &h2, &m2, &s2);
        int intime = h1 * 3600 + m1 * 60 + s1;
        int outtime = h2 * 3600 + m2 * 60 + s2;
        if(intime < mintime){
            mintime = intime;
            unlock = id;
        }
        if(outtime > maxtime){
            maxtime = outtime;
            lock = id;
        }
        
    }
    cout << unlock << " " << lock;
    return 0;
}

这里有一个设置是int mintime = INT_MAX,这个INT_MAX就是指整型数据类型的最大值。

你可能感兴趣的:(2019-08-07 A1006 Sign In and Sign Out)