Explicação
Duas seqüências de caracteres podem ser embaralhadas, intercalando suas letras para formar uma nova sequência, assim como duas pilhas de cartas podem ser embaralhadas para formar uma única pilha.
Por exemplo, as strings HELLO
e WORLD
podem ser embaralhadas para formar HWEOLRLLOD
, ou HEWORLLLDO
, ou talvez simplesmente HELLOWORLD
.
É não um embaralhamento se a ordem original das letras não é preservado. Por exemplo, o D
in WORLD
nunca pode aparecer antes do R
embaralhamento depois. Isso significa que EHLLOWRDLO
, por exemplo, não é um embaralhamento HELLO
e WORLD
, embora contenha todas as letras originais.
Uma corda é um embaralhamento de gêmeos se puder ser formada embaralhando duas cordas idênticas. Por exemplo, ABACBDECDE
é um embaralhar de gêmeos porque pode ser formado embaralhando ABCDE
e ABCDE
. DBEACBCADE
não é um embaralhar de gêmeos porque não pode ser formado embaralhando duas cordas idênticas.
Detalhes do Programa
Dada uma sequência de entrada, produza, 0
se não for um shuffle de gêmeos, e produza uma das strings duplas, se for um shuffle de gêmeos.
Você pode supor que a sequência de entrada tenha um comprimento inclusivo entre quatro e vinte caracteres e seja composta inteiramente de caracteres alfabéticos maiúsculos. Ele deve ser executado em um período de tempo razoável, digamos, em menos de 10 minutos.
Isso é código de golfe, então a solução mais curta vence.
Exemplo de E / S
> ABACBDECDE
ABCDE
> DBEACBCADE
0
> FFFFFF
FFF
> FFGGG
0
> ABBA
0
> AABB
AB
> AABAAB
AAB
Eu tenho uma implementação de exemplo (sem golfe) .
FFGGG
para torná-lo consistente.
that the input string has a length inclusively between four and twenty characters
e não me diga "nunca confie na entrada do usuário!", "Nunca confie nas especificações!"