char {A,B,C,D,E,F} の配列があり、順序番号が 3 であるとします。
すると、スクランブルされた単語は次のようになります。
最初の 3 番目 (注文番号) の文字 C が削除され、保存されます。
{A、B、D、E、F}、{C}
次の文字 D から開始すると、最初の 3 文字目は F になります。したがって、F は削除されて保存されます。
{A、B、D、E}、{C、F}
次の文字から開始します (配列インデックスの末尾に達したため、先頭に戻ります)。つまり、文字 A から開始し、最初の 3 文字目は D です。
{A,B,E} , {C,F,D}
等々。
結果は空の元のchar配列になり、スクランブルされた配列になります
{ } , {C,F,D,B,E,A}
上記のアルゴリズムは簡単に実装できます。問題ありません。私が問題を抱えているのは、それを解読することです。スクランブルされていない char 配列とその順序が与えられ、元の char 配列を見つけなければなりません。
私は何時間も試みてきましたが、そのための「公式」を見つけることができないようです. 私は何か決定的なものを見逃していると思います。この問題に取り組む方法について、誰かが私に手がかりやヒントを教えてくれますか?