给你一个 n * n 的 01 矩阵,现在你的任务是将这个矩阵中尽量少的 0 转化为 1 ,使得每个数的上下左右四个相邻的数加起来是偶数。求最少的转化个数。
https://www.cnblogs.com/wuhenqs/p/3242068.html
http://blog.csdn.net/mikasa3/article/details/52862470
我们可以只枚举第一排的0。因为第一排的元素只受第一排和第二排元素的影响。所以第一排元素如果确定下来了,第二排的元素实际上是可以唯一确定的。而第二排的元素又只受第一排、第二排、第三排元素的影响,因此确定了第一排和第二排的元素后,第三排的元素也是确定的。以此类推,如果前n排元素确定了,那么第n + 1排元素就可以确定。所以我们可以只需要枚举第一排哪些0需要变为1,然后依次计算完每一排元素,最后判断一下最后一排元素是符合要求就可以了。用二进制方式映射10进制数枚举即可。在处理上,可以假设第一排的元素都是0,如果枚举到某种情况发现第一排某个元素为0而原来的矩阵上对应位置为1,直接判不符合条件即可。
http://blog.csdn.net/firstlucker/article/details/46663427