Istnieje klasyczny wynik kombinatoryczny , w którym liczba sposobów na układanie 2*n
paska według 1*2
kostek domina to n- ta liczba Fibonacciego. Twoim celem jest wydrukowanie wszystkich pochyleń dla danego n
, narysowanych za pomocą myślników i linii pionowych, takich jak 8 pochyleń dla n=5
:
|————
|————
——|——
——|——
|||——
|||——
————|
————|
||——|
||——|
|——||
|——||
——|||
——|||
|||||
|||||
Masz dostarczyć program lub nazwaną funkcję, która przyjmuje n
dane wejściowe i drukuje wymagane dane wyjściowe. Wygrywa najmniej bajtów.
Wejście
Liczba n
pomiędzy 1
i 10
włącznie poprzez STDIN lub wejście funkcji.
Wynik
Wydrukuj wszystkie możliwe nachylenia 2*n
paska domina , rysowane w poziomie. Pochylenia mogą być w dowolnej kolejności, ale każda powinna pojawić się dokładnie raz. Muszą być oddzielone pustą linią.
Domino pionowe składa się z dwóch pionowych pasków ( |
), a domino poziome składa się z dwóch kresek ( —
). Możesz użyć łączników ( -
) zamiast myślników em, aby pozostać w ASCII.
Z białymi znakami możesz zrobić wszystko, o ile wydruk będzie wyglądał tak samo.
——
i |
długości jak Dennisa, a nie n
ciągów długości —
i |
filtrowania poprzez —
pojawienie się w parach. A dla tych ostatnich oczekiwałbym, że będzie to przez wyrażenia regularne lub operacje na łańcuchach na wytworzonym łańcuchu, jak s.split('——
), a nie na podejściu arytmetycznym takim jak twoje.