1006. Sign In and Sign Out (25)

#include <iostream>
#include <cstdio>
#include <cstring>

int main(void)
{
    int m;
    scanf("%d", &m);
    char id_open[16], id_close[16], t_open[] = "23:59:59", t_close[] = "00:00:00";
    char id[16], arrive[9], depart[9];
    for (int i = 0; i < m; i++) {
        scanf("%s %s %s", id, arrive, depart);
        if (strcmp(t_open, arrive) > 0) {
            strcpy(id_open, id);
            strcpy(t_open, arrive);
        }
        if (strcmp(t_close, depart) < 0) {
            strcpy(id_close, id);
            strcpy(t_close, depart);
        }
    }
    printf("%s %s\n", id_open, id_close);
    return 0;
}

这道题是道简单题,但即使是简单题,也有一些需要注意的地方。

在比较时间时,我的想法是时分秒依次来比较,但实际的情况是不需要这样来比较,直接用strcmp()就可以很好的完成任务。

在使用strcpy时,要注意该函数的signature是

char * strcpy ( char * destination, const char * source );

注意destination和source的位置。