eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Стрелки часов

Стрелки часов

Имеются аналоговые часы с тремя стрелками (вторая стрелка, минутная стрелка, часовая стрелка), которые вращаются достаточно плавно. Вы умеете измерять два угла между второй стрелкой и двумя другими. Напишите программу, которая найдет как можно меньшее время, в которое "Никакие две стрелки не накрывают друг друга" и "Оба угла между второй стрелкой и двумя другими стрелками равны". \includegraphics{https://static.e-olymp.com/content/69/6937b06843081dea07653fb1c7893379b729906e.jpg} \textit{\textbf{Рисунок 1}}. Углы между второй и двумя другими стрелками Часы не ограничиваются \textbf{12} часами. Часовая стрелка делает один круг вокруг циферблата за \textbf{H }часов. Минутная стрелка делает один полный оборот каждый час, а секундная делает оборот каждую минуту. В \textbf{0:0:0 }(полночь) все стрелки смотрят вверх. \InputFile Состоит из нескольких тестов. Каждый тест содержит в одной строке четыре целых числа \textbf{H}, \textbf{h}, \textbf{m} и \textbf{s}. \textbf{H} указывает на то что это \textbf{H}-часовые часы. \textbf{h}, \textbf{m} и \textbf{s} задают час, минуту и секунду текущего времени. Известно, что \textbf{2 }≤ \textbf{H }≤ \textbf{100}, \textbf{0 }≤ \textbf{h }< \textbf{H}, \textbf{0 }≤ \textbf{m }< \textbf{60},\textbf{ 0 }≤ \textbf{s }< \textbf{60}. Последняя строка содержит четыре нуля. \includegraphics{https://static.e-olymp.com/content/89/8935ee37475deea03777346303e153669c58c9d9.jpg} \textit{\textbf{Рисунок 2}}. Примеры \textbf{H}-часовых часов (\textbf{6}-часовые и \textbf{15}-часовые) \OutputFile Выведите время \textbf{T}, для которого как можно раньше после заданного времени выполнятся условия "Никакие две стрелки не накрывают друг друга" и "Оба угла между второй стрелкой и двумя другими стрелками равны". Для времени \textbf{T }равного \textbf{h_o : m_o : s_o} (\textbf{s_o} секунд, \textbf{m_o} минут и \textbf{h_o} часов) вывести четыре неотрицательных целых числа \textbf{h_o}, \textbf{m_o}, \textbf{n} и \textbf{d} в одной строке, где \textbf{n/d }- несократимая дробь, задающая \textbf{s_o}. Для \textbf{s_o} равного \textbf{0} считать \textbf{d} равным \textbf{1}. Время следует выражать по модулю \textbf{H} часов. То есть через секунду после (\textbf{H} - \textbf{1})\textbf{ : 59 : 59} идет \textbf{0 : 0 : 0}, а не \textbf{H : 0 : 0}.
Лимит времени 10 секунд
Лимит использования памяти 256 MiB
Входные данные #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
Выходные данные #1
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
Источник ACM International Collegiate Programming Contest, Asia Regional Contest, Aizu, 2013–11–24