아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

시계 바늘

시간 제한5초메모리 제한128 MB

요약
주어진 시각 이후에 초침이 시침과 분침 사이 각을 이등분하고 세 바늘이 겹치지 않는 가장 이른 시각을 구합니다.
난이도

보통10점 중 7점

유형
수학, 기하
정답자
아직 제출이 없습니다

문제

초침, 분침, 시침이 모두 매끄럽게 돌아가는 아날로그 시계가 있다. 초침과 나머지 두 바늘이 이루는 두 각도를 각각 측정할 수 있다.

주어진 시각과 같거나 그보다 뒤인 시각 중에서 "어떤 두 바늘도 겹치지 않는다"와 "초침과 나머지 두 바늘이 이루는 두 각도가 같다"를 처음으로 동시에 만족하는 시각을 구하는 프로그램을 작성하시오.

그림 D.1. 초침과 나머지 두 바늘이 이루는 각도

시계는 12시간제로만 한정되지 않는다. HH시간제 시계의 시침은 HH시간에 한 바퀴를 돈다. 분침은 그대로 한 시간에 한 바퀴, 초침은 1분에 한 바퀴를 돈다. 0:0:0(자정)에는 세 바늘이 모두 똑바로 위를 향한다.

입력

입력은 여러 데이터셋으로 이루어진다. 각 데이터셋은 한 줄에 네 정수 HH, hh, mm, ss가 공백으로 구분되어 주어진다. HH는 시계가 HH시간제라는 뜻이고, hh, mm, ss는 각각 지정된 시각의 시, 분, 초다.

2≤H≤1002 \le H \le 100, 0≤h<H0 \le h < H, 0≤m<600 \le m < 60, 0≤s<600 \le s < 60이다.

입력의 끝은 0 네 개로 이루어진 줄로 표시된다.

그림 D.2. HH시간제 시계의 예 (6시간제 시계와 15시간제 시계)

출력

데이터셋마다 지정된 시각과 같거나 그보다 뒤인 시각 중에서 "어떤 두 바늘도 겹치지 않는다"와 "초침과 나머지 두 바늘이 이루는 두 각도가 같다"를 처음으로 만족하는 시각 TT를 한 줄에 출력한다.

TT가 hoh_o:mom_o:sos_o(hoh_o시 mom_o분에서 sos_o초가 지난 시각)이면, 음이 아닌 네 정수 hoh_o, mom_o, nn, dd를 공백으로 구분해 출력한다. 여기서 n/dn/d는 sos_o를 나타내는 기약분수다. sos_o가 0을 포함해 정수라면 dd는 1로 한다.

시각은 HH시간으로 나눈 나머지로 나타낸다. 즉 (H−1)(H-1):59:59에서 1초가 지난 시각은 HH:0:0이 아니라 0:0:0이다.

예제1

  1. 예제 1

    입력
    12 0 0 0
    12 11 59 59
    12 1 56 0
    12 1 56 3
    12 1 56 34
    12 3 9 43
    12 3 10 14
    12 7 17 58
    12 7 18 28
    12 7 23 0
    12 7 23 31
    2 0 38 29
    2 0 39 0
    2 0 39 30
    2 1 6 20
    2 1 20 1
    2 1 20 31
    3 2 15 0
    3 2 59 30
    4 0 28 48
    5 1 5 40
    5 1 6 10
    5 1 7 41
    11 0 55 0
    0 0 0 0
    
    예상 출력
    0 0 43200 1427
    0 0 43200 1427
    1 56 4080 1427
    1 56 47280 1427
    1 57 4860 1427
    3 10 18600 1427
    3 10 61800 1427
    7 18 39240 1427
    7 18 82440 1427
    7 23 43140 1427
    7 24 720 1427
    0 38 4680 79
    0 39 2340 79
    0 40 0 1
    1 6 3960 79
    1 20 2400 79
    1 21 60 79
    2 15 0 1
    0 0 2700 89
    0 28 48 1
    1 6 320 33
    1 6 40 1
    1 8 120 11
    0 55 0 1