Це грудень 2014 року, а 2015 рік майже розпочався. Однак, здається, не всі усвідомили це.
Але на допомогу приходять люди PPCG!
Вхідні дані
Вашій програмі надається така сітка, як та, яка є стіною, де дні, які перебувають у грудні місяці, виглядають різними, ніж у листопаді та січні. Кожен тиждень починається з неділі і закінчується суботою.
Дні протягом місяця представлені символом a #
. Дні, які не виходять за місяць, представлені символом (пробіл, код ASCII 32). Кожен тиждень на окремому рядку. Рядки розділені символом нового рядка (
\n
). Ваша програма може вимагати або пропущення, або включення нового рядка в кінці введення.
Наприклад, це дані для грудня 2009 року:
#####
#######
#######
#######
#####
Календар завжди - грудень місяця.
Завдання
З огляду на вхід, ви повинні знайти рік, пов’язаний з календарем. Оскільки існує кілька років, за які календар відповідає, ви повинні повернути рік (до 2015 року), який є найближчим до 2015 року (без урахування самого 2015 року.)
Ваша програма повинна створити правильний вихід за будь-який рік <2015, виключаючи ті, які мають календарний макет на грудень, рівний графіку іншого року (до 2015 року) ближче до 2015 року.
Якщо рік <2014, ви також повинні розрахувати різницю року до 2014. Наприклад, для 2012 року різниця становить 2
.
Вихідні дані
Вихід програми повинен бути:
- Текст:
Your calendar is for <year>.
(Примітка: оскільки спочатку це було написано як "календар", я також прийму це правопис.) - Далі йде новий рядок (
\n
або\r\n
). - Далі йде текст:
It's almost 2015.
- Якщо рік <2014, після цього повинен слідувати текст:
You're <difference> years behind.
Це повинно бути в окремому рядку. - Далі йде новий рядок (
\n
або\r\n
). - Далі йде текст:
Go buy a new calendar!
- За бажанням слід новий рядок (
\n
або\r\n
).
Правила
- Ви можете вибрати, чи хочете ви отримувати календар як аргумент командного рядка (наприклад
yourprogram.exe <calendar>
) або підказку для введення користувачем. - Ви можете припустити, що програма не отримає недійсні дані. Недійсний вхід включає макет календаря, на який не існує року.
- Виграє найкоротший код (у байтах, будь-якою мовою).
Будь-які нестандартні аргументи командного рядка (аргументи, які зазвичай не потрібні для запуску сценарію) зараховуються до загального числа символів.
Що ваша програма не повинна робити:
- Залежить від будь-яких зовнішніх ресурсів.
- Залежить від конкретного імені файлу.
- Виведіть що-небудь, крім необхідного виводу.
- Бігайте винятково довго. Якщо ваша програма працює на комп’ютері середнього домашнього користувача понад хвилину, вона недійсна.
- Ваша програма не повинна бути написана мовою програмування, для якої до публікації цього виклику не існувало загальнодоступного компілятора / перекладача.
Приклади
Вхід:
#####
#######
#######
#######
#####
Вихід:
Your calendar is for 2009.
It's almost 2015.
You're 5 years behind.
Go buy a new calendar!
Вхід:
######
#######
#######
#######
####
Вихід:
Your calendar is for 2014.
It's almost 2015.
Go buy a new calendar!
Вхід:
#
#######
#######
#######
#######
##
Вихід:
Your calendar is for 2012.
It's almost 2015.
You're 2 years behind.
Go buy a new calendar!