atcoder#KEYENCE2021D. Choosing Up Sides

Choosing Up Sides

题目描述

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

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

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

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

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

输入格式

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

N N

输出格式

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

K K s1 s_1 s2 s_2 \vdots sK s_K

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

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

1
1
AB

提示

制約

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

Sample Explanation 1

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