Einführung
Aus Wikipedia :
Eine Tessellation einer flachen Oberfläche ist das Kacheln einer Ebene unter Verwendung einer oder mehrerer geometrischer Formen, genannt Kacheln, ohne Überlappungen und ohne Lücken.
Eine ziemlich bekannte Tessellation ist unten abgebildet:
Die Rhomben sind so gekachelt, dass keine Überlappungen oder Lücken entstehen, und sie simulieren das Vertauschen von Würfelsäulen.
Aufgabe
Ihre Aufgabe ist es, ein Programm zu schreiben, das Rhomben auf die gleiche Weise wie im obigen Bild tesselliert. Die Eingabe für das Programm sind die Abmessungen der Tessellation: height x width
wobei width die Anzahl der Spalten und height die Anzahl der Zeilen ist.
Ein einzelner Würfel 1 x 1
(3 Rhombusplättchen) wird genau so dargestellt:
_____
/\ \
/ \ \
/ \ _____\
\ / /
\ / /
\/_____ /
Also, wenn die Eingabe / Dimensionen sind 3 x 2
, sollte dies die Ausgabe sein:
_____
/\ \
/ \ \
/ \ _____\ _____
\ / /\ \
\ / / \ \
\/_____ / \ _____\
/\ \ / /
/ \ \ / /
/ \ _____\/_____ /
\ / /\ \
\ / / \ \
\/_____ / \ _____\
/\ \ / /
/ \ \ / /
/ \ _____\/_____ /
\ / /\ \
\ / / \ \
\/_____ / \ _____\
\ / /
\ / /
\/_____ /
Wie Sie sehen, gibt es 3 Zeilen (Höhe) und 2 Spalten (Breite). Die Spalten vertauschen sich nach oben und unten. Ihr Programm sollte dies auch tun und höher starten. Zum Beispiel 3 x 3
wäre:
_____ _____
/\ \ /\ \
/ \ \ / \ \
/ \ _____\ _____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
/\ \ / /\ \
/ \ \ / / \ \
/ \ _____\/_____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
/\ \ / /\ \
/ \ \ / / \ \
/ \ _____\/_____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
\ / /
\ / /
\/_____ /
Regeln
- Das Ergebnis muss ausgegeben werden, die Eingabe kann nach Belieben erfolgen, muss jedoch Höhe und Breite entsprechen
- Nachgestellte Zeilenumbrüche sind zulässig
- Die Tessellationsspalten beginnen immer von oben und wechseln sich ab
- Tessellationsseiten müssen gemeinsam genutzt werden und Tessellationen müssen zwischen den anderen Spalten ohne Lücken korrekt platziert werden
- Ihre Einreichung kann eine Funktion oder ein vollständiges Programm sein
- Ihr Programm muss bei gleicher Eingabe genau die oben angegebene Ausgabe ausgeben. Mit anderen Worten, die Ausgabe muss für Cubes / Tessellations dasselbe Format haben
Annahmen
- Sie können davon ausgehen, dass die Eingabe immer größer als ist
1 x 1
, sodass Sie keine Fälle benötigen, in denen eine Null eingegeben wird
Wertung
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes. Standardlücken sind ebenfalls verboten.