Jedes reguläre Sechseck kann mit Diamanten gekachelt werden, zum Beispiel so:
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
Wir werden das Obige als Kacheln von Größe betrachten 1
(da die Seiten der Diamanten aus einem /
oder \
jedem bestehen). Die gleiche Kachelgröße 2
würde folgendermaßen aussehen:
____________
/ / /\ \
/___/___/ \___\
/ /\ \ /\ \
/___/ \___\/ \___\
/\ \ / /\ / /\
/ \___\/___/ \/___/ \
\ / /\ \ / /\ /
\/___/ \___\/___/ \/
\ \ / /\ \ /
\___\/___/ \___\/
\ \ \ / /
\___\___\/___/
Ihre Aufgabe ist es, eine solche ASCII-Grafikkachel (mit der Größe 1
) als Eingabe zusammen mit einer positiven Ganzzahl N
(in Dezimal- oder Unärzahl) zu erhalten, die die Größe der gewünschten Ausgabe angibt. Sie sollten dann eine vergrößerte Version derselben Kachel ausgeben.
Beachten Sie, dass das Sechseck beliebig groß und so klein wie 1x1x1 sein kann (mit drei Diamanten).
Weder Eingabe noch Ausgabe dürfen nachgestellte Leerzeichen oder mehr führende Leerzeichen enthalten, als zum Ausrichten der Sechseckform erforderlich sind. Sowohl Eingabe als auch Ausgabe können optional eine einzelne nachgestellte Zeile enthalten (diese Auswahl muss für Eingabe und Ausgabe nicht identisch sein).
Sie können ein Programm oder eine Funktion schreiben, indem Sie eine Eingabe über STDIN (oder die nächstgelegene Alternative), ein Befehlszeilenargument oder ein Funktionsargument vornehmen und das Ergebnis über STDOUT (oder die nächstgelegene Alternative), einen Funktionsrückgabewert oder einen Funktionsparameter (out) ausgeben.
Dies ist Codegolf, daher gewinnt die kürzeste Antwort (in Bytes).
Beispiel Tilings
Hier finden Sie eine Handvoll Eingabefelder, mit denen Sie Ihre Einreichung testen können.
__
/_/\
\_\/
____
/_/\_\
/\_\/_/\
\/_/\_\/
\_\/_/
______
/_/_/\_\
/_/\_\/\_\
/\_\/_/\/_/\
\/_/\_\/_/\/
\_\/_/\_\/
\_\_\/_/
________
/_/\_\_\_\
/\_\/\_\_\_\
/\/_/\/_/_/\_\
/\/\_\/_/_/\/\_\
\/\/_/\_\_\/\/_/
\/\_\/_/\_\/_/
\/\_\_\/_/_/
\/_/_/_/_/
Das folgende Snippet enthält die entsprechenden Ausgaben für Eingaben N = 1
bis N = 6
.
N-1
führende Leerzeilen. :(