Вітаємо! Вас щойно найняли НАСА для роботи над новим проектом «Горизонти 2».
На жаль, останнім часом відбулися величезні скорочення бюджету, тому керівництво вищого рівня вирішило підробити всю заплановану проліт Плутона (як це було зроблено для висадки на Місяць у 70-х роках).
Ваше завдання - написати програму, яка прийме як введення дату у форматі yyyymmdd
і надасть фальшиву фотографію Плутона на цю дату. Ви можете припустити, що введена дата буде у 2015 або 2016 роках.
На фотографії представлена сітка 15х15 символів ASCII. Символи на сітці мають свої координати x- і y у межах діапазону [-7, 7]
- символ у верхньому лівому куті знаходиться в (-7, -7)
той час, як нижній правий символ знаходиться у (7, 7)
.
Для фотографії буде обчислено такі правила:
- Зонд буде найближчим до Плутона 25.12.2015
- Відстань
d
до Плутона задається такою формулою:square root of ((difference in days to christmas) ^ 2 + 10)
- Радіус
r
зображення Плутона на фотографії задається:22 / d
- Символ з координатами
(x, y)
в сітці повинен бути встановлений,#
якщоx^2 + y^2 <= r^2
; його потрібно встановити на простір інакше. - Є зірки в положеннях
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
. Зірки представлені крапкою.
, і вони, звичайно, приховані Плутоном.
І ще одне: колегія NASA дійшла висновку, що відкриття життя на Плутоні, ймовірно, призведе до значного збільшення бюджету. Тоді ваша програма повинна додати підказки життя на Плутоні:
- Коли відстань до Плутона <= 4, додайте плутоніан за координатами
(-3,-1)
:(^_^)
Приклад фотографії для введення 20151215
: (Ваш код повинен містити всі нові рядки, як це робить)
.
# .
###
#####
###.
# .
.
Фотографія для введення 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
Для порівняння, ось фотографія супутника Плутона "Гідра", зроблена "New Horizons". Відмінності навряд чи помітні в нашому мистецтві ASCII.
Це кодовий гольф, тому найкоротший код у байтах виграє!
`
s на користь <pre><code>
; не соромтеся відкочуватися, якщо вам це не подобається.
You can assume the entered date will be in the year 2015 or 2016.
Але тоді навіщо взагалі вказувати рік?