e-olymp 2364. Часы

Задача

Ослик Иа-Иа и часы

Ослик Иа-Иа и часы

На очередной день рождения ослику Иа-Иа подарили наручные стрелочные часы. Теперь у него появилось новое развлечение — смотреть на бег стрелок. На то, как минутная догоняет часовую, обходит и тут же продолжает бежать за ней. Вот и в этот раз Кенга застала ослика за этим занятием. Она присоединилась к наблюдением и через некоторое время ей стало интересно, сколько уже моментов, когда минутная стрелка обгоняет часовую, видел Иа-Иа. Для этого она спросила у ослика во сколько он начал смотреть на часы, записала это и текущее время и побежала к Сове с этим вопросом. Но Сова оказалось очень занята и поэтому попросила вас помочь. Как известно, за один день часовая стрелка делает два оборота, а минутная целых [latex]24[/latex].

Входные данные

Первая строка входного файла содержит описание момента времени, в который Иа-Иа начал смотреть на часы в формате [latex]HH:MM[/latex] — две первых цифры обозначают часы, потом через двоеточие две цифры минут.
Вторая строка входного файла содержит описание конечного момента времени в таком же формате.
Известно, что Иа-Иа наблюдал за часами менее суток, но вполне мог это делать и в полночь.

Выходные данные

В выходной файл выведите единственное целое число — количество моментов, когда минутная стрелка обгоняет часовую в процессе наблюдения.
Если такое событие происходило когда Иа-Иа начал или закончил смотреть на часы, то оно также считается.

Тесты

Входные данные Выходные данные
[latex]23:50[/latex] [latex]1[/latex]
[latex]00:20[/latex]
[latex]12:00[/latex] [latex]2[/latex]
[latex]13:20[/latex]
[latex]00:00[/latex] [latex]1[/latex]
[latex]00:01[/latex]
[latex]00:00[/latex] [latex]22[/latex]
[latex]23:59[/latex]
[latex]18:32[/latex] [latex]3[/latex]
[latex]20:44[/latex]
[latex]00:00[/latex] [latex]12[/latex]
[latex]12:01[/latex]
Код программы

Решение задачи

Сначала найдем количество минут в момент времени, в который Иа-Иа начал смотреть на часы и в момент времени, в который закончил ([latex]sum_1[/latex] и [latex]sum_2[/latex] соответсвенно). Теперь найдем разницу между этими моментами ([latex]sum[/latex]), учитывая переход через момент времени [latex]00:00[/latex] по формуле: $\left(1440+sum_2-sum_1\right)\mod 1440$ ([latex]1440[/latex] — это количество минут в сутках). Присвоим моменту времени, когда Иа-Иа закончил смотреть, сумму «начала» и «разности моментов» (т. е [latex]sum_1+sum[/latex]). В сутках есть два момента, когда минутная и часовая стрелки точно совпадают-это [latex]00:00[/latex] и [latex]12:00[/latex]. Если время начала совпало с одним из этих моментов, то его не надо учитывать. Заведем переменную [latex]r[/latex], которая будет принимать значение [latex]1[/latex] в этих моментах времени, а иначе какое-то другое значение (нам оно не важно). Это можно сделать, например, так: $h_1\mod 12 + \frac{m_1}{12} + 1$. Период встречи стрелок равен [latex]\frac{720}{11}[/latex]. Посчитаем количество встреч стрелок ([latex]res_2[/latex]) от начала суток до [latex]sum_2[/latex] : [latex]\frac{sum_2\cdot 11}{720}+1[/latex] (добавляем [latex]1[/latex] т. к момент [latex]00:00[/latex] тоже надо учитывать). Также посчитаем количество встреч стрелок ([latex]res_1[/latex]) от начала суток до [latex]sum_1[/latex]: [latex]\frac{sum_1\cdot 11}{720}+ \lceil\frac{(r-1)}{r}\rceil[/latex] ([latex] \lceil\frac{(r-1)}{r}\rceil[/latex] дает [latex]0[/latex] при совпадении начального времени с моментом [latex]00:00[/latex] или [latex]12:00[/latex], а иначе — [latex]1[/latex]). Ответом будет разность этих двух количеств ([latex]res_2-res_1[/latex]).

Ссылки

Условие задачи на e-olimp
Код решения

Костя Григорян
Костя Григорян

Latest posts by Костя Григорян (see all)

3 thoughts on “e-olymp 2364. Часы

    • Не стоит начинать новый абзац в середине предложения.
    • Где метки (ключевые слова)?
    • Пробел ставят перед открывающей скобкой и после закрывающей.
    • Разберитесь, как обозначается округление вверх latex. Например, посмотрев в режиме редактирования соответствующую статью Википедии.
    • Если нужны индексы, то они должны выглядеть так [latex]h_1[/latex].
    • Пожалуйста, используйте теги h6 для заголовков подразделов размеченных заголовками h5, которые являются подзаголовками заголовков h4, вложенных в h3, вложенных в h2, которые вложены в h1. В Войне и мире Льва Толстого удалось обойтись h1-h3.
    • «Ссылки» тоже заголовок раздела.
    • Не используйте кириллицу в постоянных ссылках
  1. Зачтено, но замечания остались.

    • При умножении переменной на число в математике принято сначала ставить число. Т.е. [latex]2x[/latex], а не [latex]x\cdot 2[/latex].
    • Лучше форматировать код так:

    Хотя, я не уверен, что такое количество переменных с явно неудачными названиями может помочь понять ход решения. Обычно стараются так именовать переменные, чтобы не пришлось писать комментарии. У Вас же суммы с номерами, которые не суммы по смыслу. И результаты с номерами, которые не являются результатами…

Добавить комментарий