Zadanie
W tym wyzwaniu Twoim zadaniem jest narysowanie reprezentacji artystycznej ASCII kilku stosów pudeł o rosnącej wysokości. Jako dane wejściowe podano liczbę stosów, która jest dodatnią liczbą całkowitą. Pierwszy stos zawiera jedno pudełko wielkości 2x2. Drugi stos zawiera 2 pudełka wielkości 3x3. Ogólnie rzecz biorąc, kth stos zawiera kpudełka wielkości (k+1)x(k+1).
Granice każdego pola są rysowane za pomocą znaków -|+, a ich wnętrze składa się z białych znaków. Sąsiednie pola dzielą swoje granice, a rogi należy zawsze narysować +, nawet jeśli są częścią granicy innego pola.
Przykłady
Dane wyjściowe dla 1:
++
++
Dane wyjściowe dla 2:
+-+
| |
+-+
++ |
++-+
Dane wyjściowe dla 3:
+--+
| |
| |
+--+
| |
+-+ |
| +--+
+-+ |
++ | |
++-+--+
Dane wyjściowe dla 5:
+----+
| |
| |
| |
| |
+----+
| |
| |
| |
+---+ |
| +----+
| | |
| | |
+---+ |
| | |
| +----+
+--+ | |
| +---+ |
| | | |
+--+ | |
| | +----+
+-+ +---+ |
| +--+ | |
+-+ | | |
++ | | | |
++-+--+---+----+
Zasady i punktacja
Dane wejściowe można odbierać z STDIN, jako argument wiersza poleceń lub jako argument funkcji. Dane wyjściowe muszą przejść do STDOUT lub najbliższego odpowiednika. Dozwolona jest dowolna skończona ilość białych znaków, podobnie jak poprzedzające i końcowe znaki nowej linii, ale nie może być żadnych dodatkowych poprzedzających spacji.
To jest golf golfowy, więc wygrywa najmniejsza liczba bajtów. Standardowe luki są niedozwolone.
Integer.MaxValuejako dane wejściowe.
Integer.MaxValueani nie jest równoważna.
nin-1są stosunkowo pierwsze. Dwie plusy nigdy się nie pokrywają.