Po plotce, że Codegolf zorganizuje turniej Rock-Paper-Scissors , przyjrzysz się słowu bez kwadratów . Słowo z liter R, P, Sjest plac wolne , jeśli nie zawierają sekwencję który powtarza dwukrotnie. To znaczy, słowa tego nie można zapisać jako
a x x b
gdzie ai bsą wyrazy o dowolnej długości i xjest słowem o długości co najmniej jeden, wszystkie wykonane z liter R, P, S.
Zadanie
Napisz program, który generuje kwadratowych wolnej od słów z liter R, P, Sdługości n, w których liczba 1 <= n <= 10jest traktowana jako wejścia.
Przykład
Na przykład słowa bez kwadratów o długości 3 to
RPR, RSR, RPS, RSP, SPS, SRS, SRP, SPR, PRP, PSP, PSR,PRS
a te o długości 4 są
RPRS, RPSR, RPSP, RSRP, RSPR, RSPS, PRPS, PRSR, PRSP, PSRP, PSRS, PSPR, SRPR, SRPS, SRSP, SPRP, SPRS,SPSR
i zauważ, że na przykład SPSPlub PRPRnie są kwadratowe
Zasady
- To jest codegolf, najkrótszy program wygrywa, standardowe luki są zamknięte.
- Możesz wydrukować słowa lub utworzyć je w pamięci.
- Twój program może być napisany jako funkcja.
Referencje
Wpis w Wikipedii dotyczący słów bez kwadratów
Liczba kwadratowych słów trójskładnikowych o podanej długości znajduje się w https://oeis.org/A006156
Powiązane: Arbitrary-Length Ternary Squarefree Słowa
n>3byłby dobrym pomysłem, ponieważ pojawiły się pewne nieporozumienia dotyczące powtarzanych znaków w porównaniu z powtarzanymi sekwencjami.