【 Description 】
给定一个N行M列的矩形棋盘。棋盘的每一格都有一个数字,0或1。
你可以对棋盘进行若干次操作。每次选择棋盘的某个格子,将这个格子及其上下左右相邻的格子的数字取反(0变1,或者1变0)。
请问,你至少需要做多少次操作,才可以使棋盘上的所有数字变为1。
【 Input 】
第一行为一个整数T,表示测试点包含的数据组数。
接下来依次描述每一组数据:
每组数据的第一行为两个整数N, M,分别表示棋盘的行数与列数。
每组数据的第2至N + 1行,每行为M个整数,0或1,从上至下、从左至右地描述棋盘每一格的初始数字。
【 Output 】
共T行,每行为一个整数,表示相应数据的最佳答案,保证有解。
【 Sample Input 】
2
1 10
0 0 0 0 0 0 0 0 0 0
3 5
0 0 1 1 0
1 1 0 1 0
1 1 0 1 0
【HINT】
对于20%的测试点,保证1 ≤ N × M ≤ 25。
另有15%的测试点,保证N = 1。
另有15%的测试点,保证N = 2。
对于100%的测试点,保证1 ≤ T ≤ 8,1 ≤ N ≤ 10,1 ≤ M ≤ 1000。