Sie erhalten ein hexagonales Raster der Zeichen .
und #
wie folgt:
. . . . . . . .
. . . . # . . .
. # . . . # . .
. . . # . . . .
. . . . . # . .
. . . . . . . .
Ihre Aufgabe ist es, den gesamten achsenbündigen Begrenzungsrahmen des #
mit weiter zu füllen #
:
. . . . . . . .
. . # # # # . .
. # # # # # . .
. . # # # # # .
. . # # # # . .
. . . . . . . .
Der achsenausgerichtete Begrenzungsrahmen ist die kleinste konvexe sechseckige Form, die alle enthält #
. Beachten Sie, dass beim hexagonalen Gitter drei Achsen zu berücksichtigen sind (W / E, SW / NE, NW / SE):
Hier ist ein weiteres Beispiel, um zu zeigen, dass in einigen Fällen eine oder mehrere Seiten nur eine Seite enthalten #
:
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . # . . . . . . . # # # . . .
. . . . . . . . . . . . . . . .
Sie können diese entweder als Sechsecke mit entarteten Seiten anzeigen oder wie oben beschrieben den Begrenzungsrahmen um sie herum zeichnen. In diesem Fall handelt es sich immer noch um Sechsecke:
Zu schwer? Probiere Teil I aus!
Regeln
Sie können anstelle von und zwei verschiedene nicht durch Leerzeichen druckbare ASCII-Zeichen (0x21 bis 0x7E, einschließlich) verwenden . Ich werde sie jedoch weiterhin als und für den Rest der Spezifikation bezeichnen.#
.
#
.
Eingabe und Ausgabe können entweder eine durch Zeilenvorschub getrennte Zeichenfolge oder eine Liste von Zeichenfolgen sein (eine für jede Zeile), das Format muss jedoch konsistent sein.
Sie können davon ausgehen, dass die Eingabe mindestens eine #
und alle Zeilen gleich lang sind. Beachten Sie, dass es zwei verschiedene "Arten" von Zeilen gibt (beginnend mit einem Leerzeichen oder einem Nicht-Leerzeichen) - Sie können nicht davon ausgehen, dass die Eingabe immer mit demselben Typ beginnt. Sie können davon ausgehen, dass der Begrenzungsrahmen immer in das angegebene Raster passt.
Sie können ein Programm oder eine Funktion schreiben und eine unserer Standardmethoden zum Empfangen und Bereitstellen von Eingaben verwenden.
Sie können jede Programmiersprache verwenden , beachten Sie jedoch, dass diese Lücken standardmäßig verboten sind.
Das ist Code-Golf , also gewinnt die kürzeste gültige Antwort - gemessen in Bytes .
Testfälle
Jeder Testfall hat Ein- und Ausgänge nebeneinander.
# #
. . . .
# . # # # #
. . . .
. # . #
. . . . # .
# . # .
# . # .
. . . . # .
. # . #
# . # .
# . . # # .
. # # #
. # # #
# . . # # #
. # # #
. . # . # #
. . # #
# . . # # .
# . . # # .
. . # #
. . # . # #
. . . . . . . . . . . . . . . .
. . # . # . . . . . # # # . . .
. . . . . . . . . . . # # . . .
. . . # . . . . . . . # . . . .
. . . . . . . . . . . . . . . .
. . # . . . # . . . # # # # # .
. . . . . . . . . . . # # # # .
. . . # . . . . . . . # # # . .
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. # . . . . . . . # # # # . . .
. . . . . # . . . . # # # # . .
. . # . . . . . . . # # # . . .
. . . . # . . . . . # # # # . .
. # . . . # . . . # # # # # . .
. . . # . . . . . . # # # # # .
. . . . . # . . . . # # # # . .