После слухов, что у Codegolf будет турнир Rock-Paper-Scissors, вы заглядываете в тему слов без квадратов . Слово из букв R
, P
, S
является бесквадратным , если она не содержит последовательность , которая повторяется дважды. То есть слово нельзя записать как
a x x b
где a
и b
слово любой длины и x
слово длины по крайней мере один, все из букв R
, P
, S
.
задача
Написать программу , которая генерирует бесквадратные слова из букв R
, P
, S
длины , n
где число 1 <= n <= 10
берется в качестве входных данных.
пример
Например, слова без квадратов длиной 3
RPR
, RSR
, RPS
, RSP
, SPS
, SRS
, SRP
, SPR
, PRP
, PSP
, PSR
,PRS
и те из длины 4
RPRS
, RPSR
, RPSP
, RSRP
, RSPR
, RSPS
, PRPS
, PRSR
, PRSP
, PSRP
, PSRS
, PSPR
, SRPR
, SRPS
, SRSP
, SPRP
, SPRS
,SPSR
и обратите внимание, что, например, SPSP
или PRPR
не квадратные
правила
- Это Codegolf, самая короткая программа выигрывает, стандартные лазейки закрыты.
- Вы можете напечатать слова или создать их в памяти.
- Ваша программа может быть написана как функция.
Ссылки
Википедия на слова без квадратов
Количество трехзначных слов данной длины без квадратов приведено в https://oeis.org/A006156.
n>3
бы неплохо использовать тестовый сценарий, поскольку возникла путаница относительно повторяющихся символов и повторяющихся последовательностей.