atcoder#ABC272D. [ABC272D] Root M Leaper
[ABC272D] Root M Leaper
配点 : 点
問題文
のマス目があります。上から 行目、左から 列目のマスを と表します。
始め、 に駒が 個置かれています。あなたは以下の操作を何度でも行うことができます。
- 今駒が置かれているマスと距離がちょうど であるマスに駒を移動させる。
ここで、マス とマス の距離は とします。
全てのマス に対して、以下の問題を解いてください。
- 駒を から に移動させることができるかを判定し、できる場合は操作回数の最小値を求めてください。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
行出力せよ。 行目には 個の整数を出力せよ。 行目の 個目の出力は、マス に駒を移動させることができるのであれば操作回数の最小値を、そうでないのであれば を出力せよ。
3 1
0 1 2
1 2 3
2 3 4
駒は上下左右の 個のマスに移動することができます。
例えば に移動するには、以下のように 回の操作を行えばよいです。
- 今駒は に置かれている。 と の距離はちょうど であるため、駒を に移動させる。
- 今駒は に置かれている。 と の距離はちょうど であるため、駒を に移動させる。
10 5
0 3 2 3 2 3 4 5 4 5
3 4 1 2 3 4 3 4 5 6
2 1 4 3 2 3 4 5 4 5
3 2 3 2 3 4 3 4 5 6
2 3 2 3 4 3 4 5 4 5
3 4 3 4 3 4 5 4 5 6
4 3 4 3 4 5 4 5 6 5
5 4 5 4 5 4 5 6 5 6
4 5 4 5 4 5 6 5 6 7
5 6 5 6 5 6 5 6 7 6