Po plotce, że Codegolf zorganizuje turniej Rock-Paper-Scissors , przyjrzysz się słowu bez kwadratów . Słowo z liter R
, P
, S
jest 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 a
i b
są wyrazy o dowolnej długości i x
jest 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
, S
długości n
, w których liczba 1 <= n <= 10
jest 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 SPSP
lub PRPR
nie 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>3
byłby dobrym pomysłem, ponieważ pojawiły się pewne nieporozumienia dotyczące powtarzanych znaków w porównaniu z powtarzanymi sekwencjami.