Herzliche Glückwünsche! Sie wurden gerade von der NASA eingestellt, um an dem neuen Horizons 2-Projekt zu arbeiten.
Leider gab es in letzter Zeit enorme Budgetkürzungen, und das Top-Management hat beschlossen, den gesamten geplanten Pluto-Vorbeiflug (wie bei den Mondlandungen in den 70er Jahren) vorzutäuschen.
Ihre Aufgabe ist es, ein Programm zu schreiben, das ein Datum im Format als Eingabe akzeptiert yyyymmdd
und ein gefälschtes Foto von Pluto für dieses Datum liefert. Sie können davon ausgehen, dass das eingegebene Datum im Jahr 2015 oder 2016 liegt.
Das Foto ist ein 15x15-Raster mit ASCII-Zeichen. Die x- und y-Koordinaten der Zeichen im Raster liegen innerhalb des Bereichs. Das Zeichen [-7, 7]
oben links befindet sich auf, (-7, -7)
während das Zeichen unten rechts auf steht (7, 7)
.
Das Foto wird nach folgenden Regeln berechnet:
- Die Sonde wird am 25.12.2015 die nächste nach Pluto sein
- Die Entfernung
d
zu Pluto ergibt sich aus folgender Formel:square root of ((difference in days to christmas) ^ 2 + 10)
- Der Radius
r
von Plutos Bild auf dem Foto ist gegeben durch:22 / d
- Ein Zeichen mit Koordinaten
(x, y)
im Raster muss auf#
if gesetzt werdenx^2 + y^2 <= r^2
. es muss sonst auf Leerzeichen gesetzt werden. - Es gibt Sterne an den Positionen
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
. Sterne werden durch einen Punkt dargestellt.
und natürlich von Pluto versteckt.
Noch etwas: Der NASA-Vorstand ist zu dem Schluss gekommen, dass die Entdeckung des Lebens auf Pluto wahrscheinlich zu einer erheblichen Erhöhung des Budgets führen würde. Ihr Programm sollte dann Hinweise auf das Leben auf Pluto hinzufügen:
- Wenn die Entfernung zu Pluto <= 4 ist, fügen Sie bei den Koordinaten einen Plutonischen hinzu
(-3,-1)
:(^_^)
Beispielfoto für die Eingabe 20151215
: (Ihr Code sollte wie dieser Code alle Zeilenumbrüche enthalten.)
.
# .
###
#####
###.
# .
.
Foto für die Eingabe 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
Zum Vergleich hier ein Foto von Plutos Satelliten-Hydra, aufgenommen von New Horizons. Unterschiede sind bei unserer ASCII-Kunst kaum zu erkennen.
Das ist Code Golf, also gewinnt der kürzeste Code in Bytes!
`
s zugunsten von entfernt <pre><code>
; Sie können jederzeit einen Rollback durchführen, wenn es Ihnen nicht gefällt.
You can assume the entered date will be in the year 2015 or 2016.
Aber warum überhaupt ein Jahr angeben?