No.2689 Populous
タグ : / 解いたユーザー数 7
作問者 : 👑 SPD_9X2 / テスター : 👑 tute7627 👑 rin204 だれ arad kyawa
問題文
$H \times W$ のマス目があります。
外周のマス(辺を共有するマスが3個以下のマス)にはぞれぞれ整数が1つずつ書かれていて、$i$ 行目, $j$列目のマスには整数 $A_{i,j}$ が書かれています。
外周以外のマス(4つのマスと辺を共有するマス)は空マスで、何も書かれていません。
下の条件を満たしつつ、それぞれの空マスに記入を行います。各マスには、#
か、整数を1つ書き込みます。
- すべての隣接(辺を共有)するマスの組について、両者共に整数が書かれているならば、書かれた数の差の絶対値は1以下である
条件を満たす書き込み方があるか判定してください。書き込む方法があるのならば、#
を書き込む個数を最小化した場合の、#
を書き込む位置の集合として考えられる場合の数を $998244353$ で割った余りを求めてください。
入力
$H\ W$ $A_{1,1}\ A_{1,2}\ \cdots\ A_{1,W-1}\ A_{1,W}$ $A_{2,1}\ A_{2,W}$ $\vdots$ $A_{H-1,1}\ A_{H-1,W}$ $A_{H,1}\ A_{H,2}\ \cdots\ A_{H,W-1}\ A_{H,W}$
- 入力は全て整数
- $3 \le H,W \le 1000$
- $1 \le A_{i,j} \le 2000$
出力
書き込む方法が存在しない場合、-1を出力してください。
存在する場合、#
を書き込む個数を最小化した場合の、#
を書き込む位置の集合として考えられる場合の数を $998244353$ で割った余りを出力してください。
最後に改行してください。
サンプル
サンプル1
入力
3 5 1 1 2 2 1 1 2 2 1 1 1 1
出力
1
例えば、以下の書き込み方が条件を満たします。
1 1 2 2 1 1 1 1 1 2 2 1 1 1 1
#
は配置されていないので、1通りです。
サンプル2
入力
4 4 3 1 4 1 5 9 2 6 5 3 5 8
出力
-1
元々書かれている数において、隣接マスの差が1より大きいので不可能です。
サンプル3
入力
4 4 1 2 3 4 1 5 2 6 3 4 5 6
出力
4
例えば、以下の書き込み方が条件を満たします。
1 2 3 4 1 # 4 5 2 3 # 6 3 4 5 6
#
の配置として考えられる場合の数は4通り存在するので、4を出力します。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。