atcoder#KEYENCE2021D. Choosing Up Sides

Choosing Up Sides

配点 : 700700

問題文

NN を正の整数とします。 22 つの 2N12^{N-1} 人チームが対戦する競技があります。

11 から 2N2^N の番号がついた 2N2^N 人の人がいます。 すぬけ監督は、彼らを A と B の 22 つの 2N12^{N-1} 人チームに分けて対戦させる、という操作を何回でも行うことができます。

すぬけ監督は、11 回以上操作を行った後、以下の 22 つの条件の両方を満たすようにしたいです。

  1. ある整数 nn が存在して、1i<j2N1 \leq i < j \leq 2^N を満たす任意の (i,j)(i,j) について、人 ii と人 jj同じ チームだった回数が nn
  2. ある整数 mm が存在して、1i<j2N1 \leq i < j \leq 2^N を満たす任意の (i,j)(i,j) について、人 ii と人 jj異なる チームだった回数が mm

すぬけ監督の要望を満たすような操作列が存在することが証明できます。そのうち 操作回数が最小 であるようなものの一例を示してください。

制約

  • 与えられる入力は全て整数
  • 1N81 \leq N \leq 8

入力

入力は以下の形式で標準入力から与えられる。

NN

出力

下記のフォーマットで操作列を出力せよ。

KK

s1s_1

s2s_2

\vdots

sKs_K

ここで、KK は操作列の長さを、sis_iii 回目の操作でのチーム分けを表す。 sis_{i} は長さ 2N2^NA, B のみからなる文字列であり、sis_{i}j{j} 文字目が A ならば ii 回目の操作で人 jj はチーム A に所属していたことを、B ならばチーム B に所属していたことを表す。A, Bsis_i において 2N12^{N-1} 回ずつ出現する必要があることに注意せよ。

KK が要望を満たす操作列の長さとして最小であり、操作の結果すぬけ監督の要望が満たされたならば正解となる。

1
1
AB
  • 11 回操作を行うことですぬけ監督の要望を満たすことができます。
  • 操作は 11 回以上行う必要があることに注意してください。