Na potrzeby tego pytania meandrująca krzywa jest tą, która podąża za ogólnym kierunkiem od lewej do prawej, ale wykonuje wielokrotnie n + 1 obrotu o 90 stopni w lewo, a następnie n + 1 obrotu w prawo (dla n> 0).
W rzeczywistości sam meander będzie miał nsegmenty.
Zwoje są oznaczone symbolem +.
Szerokość meandrów (odległość między dwoma +) wynosi 3 na horyzoncie ( ---) i 1 na pionie ( |)
Oto pojedyncze segmenty meandrującą krzywą o rozmiarach n od 1 do 5:
+-------------------+
| |
+---------------+ | +-----------+ |
| | | | | |
+-----------+ | +-------+ | | | +---+ | |
| | | | | | | | | | | |
+-------+ | +---+ | | +---+ | | | +---+ | | |
| | | | | | | | | | | | | |
+---+ +---+ | +---+ | | +-------+ | | +-----------+ | |
| | 1 | | 2 | | 3 | | 4 | | 5
---+ +-------+ +-----------+ +---------------+ +-------------------+ +
Wyzwanie:
Biorąc pod uwagę dwie liczby dodatnie ni mnarysuj msegmenty meandrującej krzywej z rozmiarem n. Możesz napisać pełny program lub funkcję.
Wejście:
n > 0 Rozmiar krzywej
m > 0 Liczba segmentów do narysowania
Wynik:
Reprezentacja ASCII krzywej meandrującej.
Przykłady:
n = 3
m = 2
+-----------+ +-----------+
| | | |
| +---+ | | +---+ |
| | | | | | | |
+---+ | | +---+ | |
| | | |
-----------+ +-----------+ +
n = 2
m = 5
+-------+ +-------+ +-------+ +-------+ +-------+
| | | | | | | | | |
+---+ | +---+ | +---+ | +---+ | +---+ |
| | | | | | | | | |
-------+ +-------+ +-------+ +-------+ +-------+ +
n = 4
m = 4
+---------------+ +---------------+ +---------------+ +---------------+
| | | | | | | |
| +-------+ | | +-------+ | | +-------+ | | +-------+ |
| | | | | | | | | | | | | | | |
| +---+ | | | +---+ | | | +---+ | | | +---+ | |
| | | | | | | | | | | | | | | |
+-------+ | | +-------+ | | +-------+ | | +-------+ | |
| | | | | | | |
---------------+ +---------------+ +---------------+ +---------------+ +
Kryteria wygranej:
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach w każdym języku. Proszę wyjaśnić swój kod, jeśli masz na to czas.
nlewo?
n+1gdy patrzymy na przykłady, szczególnie między poszczególnymi segmentami.