Com o boato de que Codegolf terá um torneio de Pedra, Papel e Tesoura, você analisa o tema das palavras sem quadrados . A palavra feita das letras R
, P
, S
é square-livre , se ele não contém uma sequência que se repete duas vezes. Ou seja, a palavra não pode ser escrita como
a x x b
onde a
e b
são as palavras de qualquer comprimento e x
é uma palavra de comprimento pelo menos um, todos feitos das letras R
, P
, S
.
Tarefa
Escreva um programa que gera os free-quadrados palavras das letras R
, P
, S
de comprimento n
, onde o número 1 <= n <= 10
é tomada como entrada.
Exemplo
Por exemplo, as palavras sem quadrado do comprimento 3 são
RPR
, RSR
, RPS
, RSP
, SPS
, SRS
, SRP
, SPR
, PRP
, PSP
, PSR
,PRS
e os de comprimento 4 são
RPRS
, RPSR
, RPSP
, RSRP
, RSPR
, RSPS
, PRPS
, PRSR
, PRSP
, PSRP
, PSRS
, PSPR
, SRPR
, SRPS
, SRSP
, SPRP
, SPRS
,SPSR
e observe que, por exemplo, SPSP
ou PRPR
não são quadrados
Regras
- Este é o codegolf, o programa mais curto vence, as brechas padrão estão fechadas.
- Você pode imprimir as palavras ou criá-las na memória.
- Seu programa pode ser escrito como uma função.
Referências
Entrada da Wikipedia em palavras sem quadrados
O número de palavras ternárias sem quadrados e de comprimento determinado está em https://oeis.org/A006156
Relacionados: arbitrária de comprimento ternário Squarefree Words
n>3
seria uma boa idéia, porque houve alguma confusão sobre caracteres repetidos versus sequências repetidas.