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 HELLOe WORLDpodem 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 Din WORLDnunca pode aparecer antes do Rembaralhamento depois. Isso significa que EHLLOWRDLO, por exemplo, não é um embaralhamento HELLOe 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 ABCDEe ABCDE. DBEACBCADEnã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, 0se 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) .
FFGGGpara torná-lo consistente.
that the input string has a length inclusively between four and twenty characterse não me diga "nunca confie na entrada do usuário!", "Nunca confie nas especificações!"