Мені дуже подобаються часи, які слідують певним зразкам. Зокрема, мені подобаються часи, коли всі цифри однакові, або всі цифри збільшуються арифметично на одну зліва направо. Крім того, я ненавиджу, коли люди пишуть листи в мої часи, тому вся ця дурниця AM / PM для мене мертва. Таким чином, мої улюблені часи:
0000 0123 1111 1234 2222 2345
Для душевного спокою мені потрібно, щоб ви написали мені єдину програму, яка, враховуючи поточний час як вхідний, обидва: (А) якщо це зараз не один з моїх улюблених часів, говорить мені обом (i) скільки хвилин це з мого останнього улюбленого часу, а також (ii) скільки хвилин відбудеться наступний мій улюблений час; і (В) якщо є в даний час один з моїх улюблених часів, поставляє один "значення сигналу.
Вхідні дані
Ваша програма повинна приймати (будь-яким способом: аргументом функції, аргументом stdin
командного рядка тощо) поточний час у будь-якому з наступних форматів:
Чотиризначний час у вигляді рядка
Ціле число, яке може бути з нульовим написом зліва, щоб зробити чотиризначний час у вигляді рядка
Послідовність чотирьох (або менших) цілих чисел, упорядкована таким чином, що перше ціле число у послідовності є лівою лівою (значущою) цифрою у введенні часу (наприклад,
0951
може бути дійсно представлена як[0, 9, 5, 1]
або[9, 5, 1]
)- Представлення
0000
у вигляді послідовності нульової довжини є прийнятним
- Представлення
У разі введення рядка він повинен містити лише цифри, без крапки та інших розділових знаків. Можна вважати, що введення завжди дійсні 24-годинний час:, HHMM
де 0 <= HH <= 23
і 0 <= MM <= 59
. Нехтуйте можливістю високосної секунди.
Вихідні дані
Ваша програма повинна подавати (функція повертається, stdout
і т. Д. Все добре) або (A) або (B) , залежно від того, вхідне значення є цільовим часом.
Для):
Введіть два числових значення у будь-якому розумному форматі, наприклад:
Однорядний вихід з відповідним роздільником
Послідовні цілі / рядкові виходи, наприклад,
bash
друк двох рядків дляstdout
:49 34
Дві дві упорядковані значення повернення, такі як список Python, масив C тощо:
[49, 34]
Значення можуть надходити в будь-якому порядку. Наприклад, обидва наступні будуть дійсними виводами для вводу 1200
:
49 34
34 49
Порядок і роздільник повинні бути однаковими для всіх вхідних значень, однак!
Для (B):
Дайте будь-який інший недосяжний результат. Однак, однаковий результат повинен бути досягнутий протягом усіх шести цільових разів. Нескінченні петлі виключаються.
Зразки входів / виходів
YAY!!!
тут використовується як показовий приклад і не є приписом.
Input Output
------ --------
0000 YAY!!!
0020 20 63
0105 65 18
0122 82 1
0123 YAY!!!
0124 1 587
0852 449 139
1111 YAY!!!
1113 2 81
1200 49 34
1234 YAY!!!
1357 83 505
1759 325 263
1800 326 262
1801 327 261
2222 YAY!!!
2244 22 61
2345 YAY!!!
2351 6 9
Це код-гольф , тому найкоротший код у байтах виграє. Стандартні лазівки заборонені.