10 puzzle

题目描述

[problemUrl]: https://atcoder.jp/contests/wupc2019/tasks/wupc2019_b 高さ\\(H\\)、幅\\(W\\)のマス目がある。はじめ、\\(i\\)行\\(j\\)列のマスには\\(0\\)以上\\(9\\)以下の数\\(A\_{i,j}\\)が書かれている。マス目中のマスは辺を共有するマスに隣接している。ここで、あるマスの部分集合が「連結」であるとは、集合中の全てのマスのペアについて、集合中の隣接するマスに移動することを繰り返して行き来できることを指す。 カトーくんは以下の操作を\\(0\\)回以上行うことができる。 - ある「連結」なマスの部分集合を選び、集合中のマスに書かれている数の最大値を\\(M\\)とした時、その集合の全てのマスに書かれている数を\\(2 \\times M\\)を\\(10\\)で割ったあまりに書き換える。 カトーくんはマス目の全てのマスに書かれた数を\\(0\\)にすることができるか判定せよ。 また、\\(0\\)にすることができる場合、これを達成するために必要な最小の操作回数を求めよ。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 ``` \(H\) \(W\) \(A_{1,1}\ A_{1,2}\ \dots\ A_{1,W}\) \(A_{2,1}\ A_{2,2}\ \dots\ A_{2,W}\) \(\vdots\) \(A_{H,1}\ A_{H,2}\ \dots\ A_{H,W}\) ```

输出格式


全てのマスに書かれている数を\\(0\\)にすることが可能な場合、以下の形式で`Yes`と最小の操作回数\\(N\\)を出力してください。 ``` Yes \(N\) ``` また、不可能な場合`No`を出力してください。

输入输出样例

输入样例 #1

2 3
0 1 2
3 4 5

输出样例 #1

Yes 1

输入样例 #2

2 2
1 2
2 1

输出样例 #2

No

输入样例 #3

5 3
6 6 6
6 5 5
6 6 6
6 5 6
6 6 6

输出样例 #3

Yes 2

输入样例 #4

3 3
1 2 3
4 5 6
7 8 9

输出样例 #4

Yes 4

说明

### 制約 - \\(1 \\leq H,W \\leq 100\\) - \\(0 \\leq A\_{i,j} \\leq 9\\) - 入力される値はすべて整数である。 ### Sample Explanation 1 例えば、全てのマスを集合として選ぶと\\\\(M=5\\\\)となります。\\\\(2 \\\\times M=10\\\\)となり\\\\(10\\\\)で割ったあまりは\\\\(0\\\\)であるため、全てのマスの数を\\\\(0\\\\)に書き換えます。よって、\\\\(1\\\\)回の操作で目的を達成することができました。 ### Sample Explanation 2 どのように操作を行っても目的を達成できません。 ### Sample Explanation 3 例えば、はじめに\\\\(6\\\\)が書かれている全てのマスを集合として選び(これは「連結」です)これに対して操作を行った後、全てのマスを集合として選び操作を行うと\\\\(2\\\\)回の操作で目的を達成できます。