説明
2枚のカードの山をシャッフルして1枚の山を作るのと同じように、2つの文字列を混ぜて新しい文字列を形成します。
例えば、文字列HELLO
とをWORLD
形成するようにシャッフルすることができHWEOLRLLOD
、またはHEWORLLLDO
恐らく単に、又はHELLOWORLD
。
それはない文字の元の順序が保存されていない場合はシャッフル。たとえば、シャッフルされた後、D
インWORLD
が表示されることはありませんR
。これはEHLLOWRDLO
、たとえば、元の文字がすべて含まれていても、HELLO
とのシャッフルではないことを意味しますWORLD
。
ストリングは、2つの同一ストリングをシャッフルして形成できる場合、双子のシャッフルです。たとえばABACBDECDE
、双子のシャッフルは、シャッフルABCDE
やで形成できるためABCDE
です。DBEACBCADE
2つの同一の文字列をシャッフルして形成できないため、双子のシャッフルではありません。
プログラムの詳細
入力文字列を指定して、0
双子のシャッフルでない場合は出力し、双子のシャッフルである場合は双子文字列の1つを出力します。
入力文字列は4文字から20文字までの長さで、すべて大文字のアルファベット文字で構成されていると想定できます。妥当な時間、たとえば10分未満で実行できるはずです。
これはコードゴルフなので、最短のソリューションが優先されます。
I / Oの例
> ABACBDECDE
ABCDE
> DBEACBCADE
0
> FFFFFF
FFF
> FFGGG
0
> ABBA
0
> AABB
AB
> AABAAB
AAB
(ゴルフではない)実装例があります。
FFGGG
一貫性を持たせるために編集しました。
that the input string has a length inclusively between four and twenty characters
に違反しており、「ユーザー入力を決して信頼しない!」、「仕様を決して信頼しない!」