atcoder#ABC288G. [ABC288G] 3^N Minesweeper

[ABC288G] 3^N Minesweeper

配点 : 600600

問題文

位置 0,1,2,,3N10, 1, 2, \ldots, 3^N-1 にそれぞれ 00 個あるいは 11 個の爆弾があります。 また、位置 xx と位置 yyi=0,1,,N1i=0,1, \ldots, N-1 すべてに対し以下の条件を満たすとき、またそのときに限り近い位置であるとします。

  • x,yx, y33 進表記したときの 3i3^i の位の数字をそれぞれ x,yx', y' として、xy1|x' - y'| \leq 1 が成立する。

位置 ii と近い位置にある爆弾の個数が AiA_i 個であるとわかっているとき、爆弾の配置としてありえるものを 11 つ出力してください。

制約

  • 1N121 \leq N \leq 12
  • A0,A1,,A3N1A_0, A_1, \ldots, A_{3^N-1} に対応する爆弾の配置が存在する
  • 入力はすべて整数

入力

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

NN

A0A_0 A1A_1 \ldots A3N1A_{3^N-1}

出力

位置 ii に爆弾がないとき Bi=0B_i = 0 、位置 ii に爆弾があるとき Bi=1B_i = 1 として B0,B1,,B3N1B_0, B_1, \ldots, B_{3^N-1} を空白区切りで出力せよ。

1
0 1 1
0 0 1

00 と近い位置は 0011 で、位置 00 と位置 11 に爆弾は合計で 00 個あります。 11 と近い位置は 001122 で、位置 00 と位置 11 と位置 22 に爆弾は合計で 11 個あります。 22 と近い位置は 1122 で、位置 11 と位置 22 に爆弾は合計で 11 個あります。 22 にのみ爆弾があるような配置は上の条件を全て満たすため、正答となります。

2
2 3 2 4 5 3 3 4 2
0 1 0 1 0 1 1 1 0
2
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0