Задача D. Часы

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

После замены батарейки в электронных часах, Зинаиде требуется установить на индикаторе верное время. Для этого ей следует воспользоваться тремя кнопками, каждая из которых должна увеличивать число часов, минут и секунд на 1 соответственно. Однако, в последнее время эти кнопки барахлят — соответствующее число действительно увеличиваются на 1, зато два других на 1 уменьшаются! Например, если сейчас на индикаторе 12:34:56, то при нажатии на вторую кнопку время изменится на 11:35:55. Определите, какое минимальное количество нажатий на кнопки придётся сделать, чтобы установить нужное время.

Формат входных данных

Две строки входного файла содержат текущее и требуемое состояние индикатора в формате hh:mm:ss с ведущими нулями. Гарантируется, что эти два момента времени различны.

Формат выходных данных

Выведите одно натуральное число — ответ на вопрос задачи. Гарантируется, что требуемая последовательность нажатий на кнопки существует.

Ограничения

00 ≤ hh ≤ 23

00 ≤ mm, ss ≤ 59

Пояснение к примеру

Сейчас на индикаторе 00:00:00. Зинаида дважды нажмёт на вторую кнопку (время изменится сперва на 23:01:59, затем на 22:02:58) и один раз на третью.

Примеры тестов

Стандартный вход Стандартный выход
1
00:00:00
21:01:59
3

Разбор

Поиск в ширину.

Заведём массив из 24 * 60 * 60 элементов (время в секундах в сутках) и сформулируем правила перехода от одного элемента к другому в соответствии с нажатиями на кнопки (в результате от каждого момента времени мы можем перейти ровно к трём другим моментам времени).

Получили граф, применив BFS к которому, определим наименьшее количество операций, позволяющих достичь требуемого времени от стартового.


0.059s 0.009s 13