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 ae bsã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, Sde 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, SPSPou PRPRnã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>3seria uma boa idéia, porque houve alguma confusão sobre caracteres repetidos versus sequências repetidas.