問題一覧 > 通常問題

No.3339 Tree on Checkerboard

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 3
作問者 : kencho / テスター : cn_449 みうね
ProblemId : 12735 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-11-08 02:00:33
コンテストの他の問題:

問題文

$N \times N$ の白黒の市松模様に塗られたグリッドがあります。グリッドの上から $i$ 行目、左から $j$ 列目のマスを $(i,\ j)$ と表すとき、マス $(i,\ j)$ は $(i + j)\bmod 2= 0$ のとき黒、$(i + j)\bmod 2= 1$ のとき白に塗られています。

さて、黒いマスを $0$ 個以上白く塗り替えて、白いマス全体が木を成すようにすることは可能ですか?
可能であれば一例を示し、不可能であればその旨を報告してください。

ただし、白いマス全体が木を成すとは、白いマスそれぞれを頂点とし、グリッド上で上下左右に隣接する白いマス同士の間に辺を張って得られるグラフが $1$ つの木となることを指します。

制約

  • 入力は全て整数
  • $2 \leq N \leq 2000$

入力

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

$N$

出力

各ケースに対し、条件を満たすマスの塗り替えが存在しない場合は -1 を、存在する場合は以下の形式でその一例を出力してください。

$S_1$
$S_2$
$\vdots$
$S_N$

$S_i$ は長さ $N$ の文字列であり、$S_i$ の $j$ 文字目は塗り替え後のマス $(i,\ j)$ が白であれば . 、黒であれば # である必要がある。

最後に改行してください。

サンプル

サンプル1
入力
5
出力
#...#
.#.#.
.....
.#.#.
..#..

サンプル出力に対応するグリッドの塗り替えを下図の上段に示す。
また、下段左側の塗り替えは条件を満たす別の解であり、下段右側の塗り替えは赤線で示した位置に循環を含むため条件を満たさない。

サンプル2
入力
2
出力
#.
..

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。