Spiegazione
Due stringhe possono essere mischiate mescolando le loro lettere per formare una nuova stringa, proprio come due pile di carte possono essere mescolate per formare una singola pila.
Ad esempio, le stringhe HELLOe WORLDpossono essere mescolate per formare HWEOLRLLOD, o HEWORLLLDO, o forse semplicemente HELLOWORLD.
E ' non è uno shuffle se l'ordine originale delle lettere non si conserva. Ad esempio, Din WORLDnon può mai apparire prima che il Rdopo venga mischiato. Ciò significa che EHLLOWRDLO, per esempio, non è un miscuglio di HELLOe WORLD, sebbene contenga tutte le lettere originali.
Una stringa è una mescolanza di gemelli se può essere formata mescolando due stringhe identiche. Ad esempio, ABACBDECDEè un miscuglio di gemelli perché può essere formato mescolando ABCDEe ABCDE. DBEACBCADEnon è un miscuglio di gemelli perché non può essere formato mescolando due stringhe identiche.
Dettagli del programma
Data una stringa di input, output 0se non è un shuffle di gemelli e output di una delle stringhe gemelle se è un shuffle di gemelli.
Si può presumere che la stringa di input abbia una lunghezza inclusivamente compresa tra quattro e venti caratteri ed è composta interamente da caratteri alfabetici maiuscoli. Dovrebbe essere in grado di funzionare in un tempo ragionevole, diciamo, meno di 10 minuti.
Questo è il golf del codice, quindi vince la soluzione più breve.
Esempio di I / O
> ABACBDECDE
ABCDE
> DBEACBCADE
0
> FFFFFF
FFF
> FFGGG
0
> ABBA
0
> AABB
AB
> AABAAB
AAB
FFGGGper renderlo coerente.
that the input string has a length inclusively between four and twenty characterse non dirmi "mai fidarsi dell'input dell'utente!", "Mai fidarsi delle specifiche!"