온라인저지

[BOJ] 3029번: 경고

plzfday 2018. 7. 27. 01:21

https://www.acmicpc.net/problem/3029

입력받은 시간을 모두 초로 바꾼 후, 터질 시간이 현재 시간보다 작을 경우 다음 날이라는 말이므로 24시간을 초로 바꾼 86400초 - 현재 시간 + 터질 시간이 기다려야 하는 시간이다.

#include <cstdio>

int main()
{
    int ct[3], tt[3];
    scanf("%2d:%2d:%2d\n%2d:%2d:%2d", &ct[0], &ct[1], &ct[2], &tt[0], &tt[1], &tt[2]);

    int cts = ct[0] * 3600 + ct[1] * 60 + ct[2];
    int tts = tt[0] * 3600 + tt[1] * 60 + tt[2];
    int ans = (cts < tts) ? tts - cts : 86400 - cts + tts;

    printf("%02d:%02d:%02d", ans / 3600, ans % 3600 / 60, ans % 60);
    return 0;
}