Поздравляем! Вы только что были наняты НАСА для работы над новым проектом Horizons 2.
К сожалению, в последнее время произошли огромные сокращения бюджета, поэтому высшее руководство решило подделать весь запланированный полет Плутона (как они это сделали для посадок на Луну в 70-х годах).
Ваша задача - написать программу, которая будет принимать в качестве входных данных дату в формате yyyymmdd
и предоставит поддельную фотографию Плутона на эту дату. Вы можете предположить, что введенная дата будет в 2015 или 2016 году.
Фотография представляет собой сетку 15x15 символов 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)
на сетке должен быть установлен в#
ifx^2 + y^2 <= r^2
; в противном случае он должен быть установлен на пробел. - Есть звезды в положениях
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
. Звезды представлены точкой.
, и они, конечно, скрыты Плутоном.
Еще одна вещь: совет НАСА пришел к выводу, что открытие жизни на Плутоне, вероятно, приведет к существенному увеличению бюджета. Ваша программа должна добавить подсказки жизни на Плутоне:
- Когда расстояние до Плутона <= 4, добавьте плутоний в координатах
(-3,-1)
:(^_^)
Пример фотографии для ввода 20151215
: (Ваш код должен иметь все новые строки, как этот код)
.
# .
###
#####
###.
# .
.
Фотография для ввода 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
Для сравнения, вот фотография спутника Плутона "Гидра", сделанная New Horizons. Различия едва заметны с нашим искусством ASCII.
Это код гольф, поэтому выигрывает самый короткий код в байтах!
`
с в пользу <pre><code>
; не стесняйтесь откатиться, если вам это не нравится.
You can assume the entered date will be in the year 2015 or 2016.
Но тогда зачем вообще указывать год?