¡Felicidades! La NASA te acaba de contratar para trabajar en el nuevo proyecto Horizons 2.
Lamentablemente, recientemente ha habido grandes recortes presupuestarios, por lo que la alta gerencia ha decidido fingir todo el sobrevuelo planeado de Plutón (como lo hicieron para los alunizajes en los años 70).
Su tarea es escribir un programa que acepte como entrada una fecha en el formato yyyymmdd
y proporcionará una fotografía falsa de Plutón para esta fecha. Puede suponer que la fecha ingresada será en el año 2015 o 2016.
La fotografía es una cuadrícula de 15x15 de caracteres ASCII. Los caracteres en la cuadrícula tienen sus coordenadas x e y dentro del rango [-7, 7]
: el carácter superior izquierdo está en (-7, -7)
mientras que el carácter inferior derecho está en (7, 7)
.
La fotografía se computará con las siguientes reglas:
- La sonda será la más cercana a Plutón el 25/12/2015
- La distancia
d
a Plutón viene dada por esta fórmula:square root of ((difference in days to christmas) ^ 2 + 10)
- El radio
r
de la imagen de Plutón en la foto viene dado por:22 / d
- Un carácter con coordenadas
(x, y)
en la cuadrícula debe establecerse en#
ifx^2 + y^2 <= r^2
; debe establecerse en espacio de lo contrario. - Hay estrellas en las posiciones
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
. Las estrellas están representadas por un punto.
y, por supuesto, están ocultas por Plutón.
Una cosa más: la junta de la NASA llegó a la conclusión de que el descubrimiento de la vida en Plutón probablemente resultaría en un aumento sustancial del presupuesto. Su programa debería agregar pistas de la vida en Plutón:
- Cuando la distancia a Plutón es <= 4, agregue un plutoniano en las coordenadas
(-3,-1)
:(^_^)
Fotografía de ejemplo para entrada 20151215
: (Su código debe tener todas las líneas nuevas como lo hace este código)
.
# .
###
#####
###.
# .
.
Fotografía para entrada 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
A modo de comparación, aquí hay una foto del satélite Hydra de Plutón tomada por New Horizons. Las diferencias apenas se notan con nuestro arte ASCII.
Este es el código de golf, por lo que gana el código más corto en bytes.
`
s a favor de <pre><code>
; siéntase libre de retroceder si no le gusta.
You can assume the entered date will be in the year 2015 or 2016.
Pero entonces, ¿por qué especificar un año?