Penjelasan
Dua string dapat dikocok dengan menyelingi surat-surat mereka untuk membentuk string baru, seperti dua tumpukan kartu dapat dikocok untuk membentuk satu tumpukan.
Misalnya, senar HELLO
dan WORLD
dapat dikocok untuk membentuk HWEOLRLLOD
, atau HEWORLLLDO
, atau mungkin hanya HELLOWORLD
.
Ini bukan acak jika urutan huruf asli tidak dipertahankan. Misalnya, D
dalam WORLD
tidak dapat pernah muncul sebelum R
setelah dikocok. Ini berarti bahwa EHLLOWRDLO
, misalnya, bukan acak HELLO
dan WORLD
, meskipun berisi semua huruf asli.
String adalah pengocokan kembar jika dapat dibentuk dengan mengacak dua string yang identik. Misalnya, ABACBDECDE
adalah kocokan si kembar karena dapat dibentuk dengan mengocok ABCDE
dan ABCDE
. DBEACBCADE
bukan pengocokan kembar karena tidak dapat dibentuk dengan mengacak dua string yang identik.
Detail Program
Diberikan string input, output 0
jika bukan kocokan kembar, dan output salah satu string kembar jika itu adalah kocokan kembar.
Anda dapat mengasumsikan bahwa string input memiliki panjang inklusif antara empat dan dua puluh karakter dan seluruhnya terdiri dari karakter huruf besar. Seharusnya bisa berjalan dalam jumlah waktu yang wajar, katakanlah, di bawah 10 menit.
Ini kode golf, jadi solusi terpendek menang.
Contoh I / O
> ABACBDECDE
ABCDE
> DBEACBCADE
0
> FFFFFF
FFF
> FFGGG
0
> ABBA
0
> AABB
AB
> AABAAB
AAB
Saya punya contoh implementasi (non-golf) .
FFGGG
untuk membuatnya konsisten.
that the input string has a length inclusively between four and twenty characters
, dan jangan bilang "jangan pernah percaya input pengguna!", "Jangan pernah percaya spesifikasi!"