No.3730 Jagged Minesweeper
問題文
$N$ 個の長さ $N$ の文字列 $S_1, S_2, \ldots, S_N$ が与えられます。$S_i$ は 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 のみで構成され、$S_i$ の $j$ 番目の文字が表す整数を $A_{i, j}$ とします。
$N \times N$ のグリッドがあり、グリッドの上から $i$ 番目、左から $j$ 番目のマスを $(i, j)$ とします。初め、グリッド上には何も置かれていません。
あなたはグリッドの各マスについて爆弾を $0$ 個か $1$ 個置くことができます。爆弾は一つも置かなくても構いません。
マス $(i, j)$ を中心とする $3 \times 3$ の範囲に存在する爆弾の数を $B_{i, j}$ とするとき、$1 \leq i, j \leq N$ について以下の条件を満たすような爆弾の置き方の一例を求めてください。
- $(i, j)$ に爆弾が置かれていなければ $B_{i, j} \geq A_{i, j}$、爆弾が置かれていれば $B_{i, j} \leq A_{i, j}$ が成り立つ。
ここで、マス $(i, j)$ を中心とする $3 \times 3$ の範囲とは、$|x - i| \leq 1$ かつ $|y - j| \leq 1$ を満たすマス $(x, y)$ のうち、グリッド内に存在するもの全体を指します。グリッドの外側は含まず、また、マス $(i, j)$ 自身もこの範囲に含まれることに注意してください。
そのような爆弾の配置が存在しない場合は -1 を出力してください。
制約
- $1 \leq N \leq 1000$
- $S_i$ は
0,1,2,3,4,5,6,7,8,9のみからなる長さ $N$ の文字列
入力
入力は以下の形式で標準入力から与えられる。
$N$ $S_1$ $S_2$ $\vdots$ $S_N$
出力
条件を満たす置き方が存在しない場合は -1 を、存在する場合は以下の形式でその一例を出力してください。ただし、$T_i$ は長さ $N$ の文字列であり、$T_i$ の $j$ 文字目は、グリッドの上から $i$ 行目、左から $j$ 列目のマスに爆弾を置く場合 o、置かない場合 . となります。
$T_1$ $T_2$ $\vdots$ $T_N$
最後に改行してください。
ビジュアライザ
出力結果のWeb版ビジュアライザがこちらで提供されています。
コンテスト中における、ビジュアライズ結果の共有や解法・考察に関する言及は禁止されています。ご注意下さい。
また、ビジュアライザの仕様に関する質問は原則受け付けません。あくまで補助ツールとしてご利用ください。
サンプル
サンプル1
入力
3 314 159 265
出力
o.o ..o ooo
爆弾が置かれているマス $(1, 1)$ を中心とする $3 \times 3$ の範囲に存在する爆弾の数は $1$ 個であるため、$B_{1, 1} = 1 \leq 3 = A_{1, 1}$ が成り立ちます。
爆弾が置かれていないマス $(1, 2)$ を中心とする $3 \times 3$ の範囲に存在する爆弾の数は $3$ 個であるため、$B_{1, 2} = 3 \geq 1 = A_{1, 2}$ が成り立ちます。
他のマスについても同様に条件が成り立ちます。
サンプル2
入力
2 00 00
出力
.. ..
爆弾は一つも置かなくても問題ありません。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。