Wprowadzenie
Z Wikipedii :
Tesselacji z płaskiej powierzchni jest Dachówka płaszczyźnie przy użyciu jednej lub większej ilości geometrycznych kształtów zwane płytki, bez pokrywania się z i bez przerw.
Dość znaną teselację pokazano poniżej:
Romb są kafelkami w sposób, który nie nakłada się ani nie pokrywa, i symuluje zamienianie się kolumn kostek.
Zadanie
Twoim zadaniem jest napisanie programu, który będzie sprzedawał romby w ten sam sposób, jak na powyższym obrazku. Danymi wejściowymi dla programu będą wymiary teselacji: height x width
gdzie szerokość to ilość kolumn, a wysokość to ilość wierszy.
Pojedynczy sześcian 1 x 1
(3 płytki rombu) jest reprezentowany dokładnie tak:
_____
/\ \
/ \ \
/ \ _____\
\ / /
\ / /
\/_____ /
Jeśli więc dane wejściowe / wymiary są 3 x 2
, powinny to być dane wyjściowe:
_____
/\ \
/ \ \
/ \ _____\ _____
\ / /\ \
\ / / \ \
\/_____ / \ _____\
/\ \ / /
/ \ \ / /
/ \ _____\/_____ /
\ / /\ \
\ / / \ \
\/_____ / \ _____\
/\ \ / /
/ \ \ / /
/ \ _____\/_____ /
\ / /\ \
\ / / \ \
\/_____ / \ _____\
\ / /
\ / /
\/_____ /
Jak widać, istnieją 3 rzędy (wysokość) i 2 kolumny (szerokość). Kolumny zmieniają się w górę i w dół. Twój program też powinien to zrobić i zacząć wyżej. Na przykład 3 x 3
byłoby:
_____ _____
/\ \ /\ \
/ \ \ / \ \
/ \ _____\ _____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
/\ \ / /\ \
/ \ \ / / \ \
/ \ _____\/_____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
/\ \ / /\ \
/ \ \ / / \ \
/ \ _____\/_____ / \ _____\
\ / /\ \ / /
\ / / \ \ / /
\/_____ / \ _____\/_____ /
\ / /
\ / /
\/_____ /
Zasady
- Wynik musi być wyprowadzony, dane wejściowe mogą być pobierane w dowolny sposób, ale muszą odpowiadać wysokości i szerokości
- Końcowe znaki nowej linii są dozwolone
- Kolumny teselacji zawsze zaczynają się od góry, a następnie naprzemiennie w górę i w dół
- Strony teselacji muszą być współużytkowane, a teselacje muszą być poprawnie umieszczone między innymi kolumnami bez przerw
- Twoje zgłoszenie może być funkcją lub pełnym programem
- Twój program musi wydrukować dokładnie powyższe dane wyjściowe przy tych samych danych wejściowych; innymi słowy, dane wyjściowe muszą mieć ten sam format dla kostek / teselacji
Założenia
- Możesz założyć, że dane wejściowe będą zawsze większe niż
1 x 1
, więc nie potrzebujesz przypadków, w których wprowadzane jest zero
Punktacja
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach. Standardowe luki są zabronione, jak również.