Parabéns! Você acabou de ser contratado pela NASA para trabalhar no novo projeto Horizons 2.
Infelizmente, houve enormes cortes no orçamento recentemente, então a alta gerência decidiu fingir todo o sobrevoo planejado de Plutão (como fizeram nos pousos na lua nos anos 70).
Sua tarefa é escrever um programa que aceite como entrada uma data no formato yyyymmdde forneça uma fotografia falsa de Plutão para essa data. Você pode supor que a data inserida será no ano de 2015 ou 2016.
A fotografia é uma grade 15x15 de caracteres ASCII. Os caracteres na grade têm suas coordenadas xe y dentro do intervalo [-7, 7]- o caractere superior esquerdo está em (-7, -7)enquanto o caractere inferior direito está em (7, 7).
A fotografia será calculada com as seguintes regras:
- A sonda será a mais próxima de Plutão em 25/12/2015
- A distância
dpara Plutão é dada por esta fórmula:square root of ((difference in days to christmas) ^ 2 + 10) - O raio
rda imagem de Plutão na foto é dado por:22 / d - Um caractere com coordenadas
(x, y)na grade deve ser definido como#sex^2 + y^2 <= r^2; caso contrário, ele deve ser definido como espaço. - Há estrelas em posições
(-3, -5),(6, 2),(-5, 6),(2, 1),(7, -2). As estrelas são representadas por um ponto.e, é claro, são escondidas por Plutão.
Mais uma coisa: o conselho da NASA chegou à conclusão de que a descoberta da vida em Plutão provavelmente resultaria em um aumento substancial do orçamento. Seu programa deve adicionar pistas da vida em Plutão:
- Quando a distância até Plutão for <= 4, adicione um plutoniano nas coordenadas
(-3,-1):(^_^)
Exemplo de fotografia para entrada 20151215: (Seu código deve ter todas as novas linhas como este código)
.
# .
###
#####
###.
# .
.
Fotografia para entrada 20151225:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
Como comparação, aqui está uma foto do satélite Hydra de Plutão, tirada pela New Horizons. As diferenças são quase imperceptíveis em nossa arte ASCII.
Isso é código de golfe, então o código mais curto em bytes vence!
`s a favor de <pre><code>; sinta-se à vontade para reverter se não gostar.
You can assume the entered date will be in the year 2015 or 2016.Mas então por que especificar um ano?
