前書き
以前の挑戦でアリ順列のクラスを定義しました。覚え書きとして、0からr-1までの数字の順列pは、最初のエントリを除くすべてのエントリp [i ]に対して、p [i] == p [ ik]±1。楽しい事実として、私はまたのためにあると述べR≥1 、まさにそこにある2 R-1の長さのイライラ順列rが。これは、長さrのアンチ順列と長さr-1のバイナリベクトルとの間に1対1の対応があることを意味します。。この課題では、あなたの仕事はそのような通信を実装することです。
タスク
あなたの仕事は、長さのバイナリーベクターにかかるプログラムや関数の書き込みにある1≤N≤99を、長さのイライラ順列出力するN + 1。順列は0ベースまたは1ベースのいずれか(ただし、これは一貫している必要があります)であり、入力と出力は任意の妥当な形式にすることができます。さらに、異なる入力は常に異なる出力を与える必要があります。それ以外の場合は、必要な任意の順列を自由に返すことができます。
最も低いバイトカウントが優先されます。
例
長さ4の(0ベース)anty順列は次のとおりです。
0 1 2 3
1 0 2 3
1 2 0 3
1 2 3 0
2 1 0 3
2 1 3 0
2 3 1 0
3 2 1 0
そして、あなたのプログラムは長さ3の8ビットのベクトルのそれぞれに対してそれらの1つを返さなければなりません:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 1また0 0 1、異なる長さの出力を提供する必要があります。