RYIP在线题库
首 页   >   习题练习   >   提交
Problem1894--棋盘

1894: 棋盘

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MB

【 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

【 Sample Output 】

4
3

【HINT】

对于20%的测试点,保证1 ≤ N × M ≤ 25。
另有15%的测试点,保证N = 1。
另有15%的测试点,保证N = 2。
对于100%的测试点,保证1 ≤ T ≤ 8,1 ≤ N ≤ 10,1 ≤ M ≤ 1000。