从来没有觉得枚举有多费脑子的。但是这道题还是很香的。

思路:就是非常简单的枚举啦。   从一般的枚举开始考虑。一般的做法就是在所有的格子中有两种状态1, 0. 而一共有225个格子,所有一共要枚举的情况就是2255我们大概粗略的计算一下10大约是23则,时间复杂度大概是1085而实际的情况比这个要高。肯定不行。

   但是,通过打草稿发现,只要第一行确定了第二行一定是唯一的,同理第三行也是唯一的。这样的话直接枚举第一行就行了呀!

#include<cstring>
#include<iostream>
using namespace std;
const int maxn=20;
const int INF=1e9;int t, n, a[maxn][maxn], b[maxn][maxn];
int check(int s){memset(b, 0, sizeof(b));for(int c=0;c<n;++c)if(s&(1<<c))b[0][c]=1;else if(a[0][c]==1)return INF;for(int r=1;r<n;++r)for(int c=0;c<n;++c){int sum=0;if(r-2>=0)sum+=b[r-2][c];if(r-1>=0&&c-1>=0)sum+=b[r-1][c-1];if(r-1>=0&&c+1<n)sum+=b[r-1][c+1];b[r][c]=sum%2;if(a[r][c]==1&&b[r][c]==0)return INF;}int cnt=0;for(int r=0;r<n;++r)for(int c=0;c<n;++c)if(a[r][c]!=b[r][c])++cnt;return cnt;
}int main(){cin>>t;for(int kase=1;kase <=t;++kase){cin>>n;for(int r=0;r<n;++r)for(int c=0;c<n;++c)cin>>a[r][c];int ans=INF;for(int s=0; s<(1<<n); ++s)ans=min(ans, check(s));if(ans==INF)ans=-1;cout<<"Case "<<kase<<": "<<ans<<endl;}
}

转载于:https://www.cnblogs.com/ALINGMAOMAO/p/10731014.html

Even Parity UVA - 11464 (枚举)相关推荐

  1. 【巧妙算法系列】【Uva 11464】 - Even Parity 偶数矩阵

    偶数矩阵(Even Parity, UVa 11464) 给你一个n×n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1,使得每个元素的上.下.左.右的元素(如果存在的话)之和均为偶数.比 ...

  2. uva 11464 Even Parity

    https://vjudge.net/problem/UVA-11464 题意: 给出一个0,1矩阵,现在要求把这个矩阵中的某些0改为1,使得这个矩阵中每个格子的上下左右格子(如果存在)的值之和为偶数 ...

  3. Uva 11464 偶数矩阵

    题目链接:https://uva.onlinejudge.org/external/114/11464.pdf 和开关问题类似,只不过现在是用的位运算操作更简单了,其中要注意的是,只能将0变成1. 1 ...

  4. C#中串口通信编程 收藏

    C#中串口通信编程 收藏 本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET 2.0提供了串口通信的功能,其命名 空间是System.IO.Ports.这个新的框架不但可以访问计算机上的 ...

  5. C#编写串口通信程序(转)

    一.概述 在Visual Studio 6.0中编写串口通讯程序,一般都使用Microsoft Communication Control(简称MSComm)的通讯控件,只要通 过对此控件的属性和事件 ...

  6. π-Algorithmist分类题目(1)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...

  7. 大白书 1.3节 高效算法设计举例

    大白书 1.3节 高效算法设计举例 例题 17 UVA 11462 简单题,注意那个数值的范围是100以内就可以了. #include <cstdio> #include <cstr ...

  8. UVa LA 4253 UVa 1421 Archery 枚举,状态削减,oj错误题目 难度: 1

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  9. UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】

    题目链接 题意 给n个互不相包含的区间,求出一个长度的最大值,使得可以在每个区间中选出这样一个长度的子区间,这些子区间互不相交.结果用分数表示 分析 先考虑如果给定了区间长度能不能选出这样的区间.因为 ...

最新文章

  1. mysql使用sha256密码,MySQL5.6启用sha256_password插件
  2. silverlight学习之storyboard (动画)
  3. 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(一)
  4. 记一次短信验证码的“梅开五度”
  5. 创建自定义验证控件(1)
  6. Oralce 9.2.0.6 到 9.2.0.8 升级 小结
  7. linux操作系统 抢占式,Linux操作系统内核抢占补丁的基本原理(2)
  8. 前端开发写代码哪个软件更好用?
  9. java后台设置定时执行任务,Java定时任务调度详解
  10. access里面的表达式运用_ACCESS条件表达式用法
  11. android版iphone6s,不必羡慕iPhone6S!安卓也能用Live Photo
  12. java mail 使用:exchange邮箱
  13. H5静态网页设计与制作_川西旅游网设计作品(HTML+CSS+jQuery)
  14. vc模拟 tabletpc_业力和TabletPC笔
  15. 5G网络普及提速,你身边的这些行业已经站上了风口
  16. 【Solved】syntax error near unexpected token done
  17. 怎么查看本地DNS缓存?
  18. 完美解决64位操作系统配置 php无法加载mysql模块问题
  19. 跨区域机房集中监控数据云平台运维管理方案
  20. 医院的热成像java怎么实现_10 行代码搞定“热成像”【shader风格化】

热门文章

  1. 从入职到离职创业,我在谷歌、亚马逊的八年
  2. 假如易立竞吐槽程序员......
  3. 长见识!居然还有程序员考公指南这种东西?
  4. ./和../和/三种路径的区别
  5. Mybatis底层原理学习(二):从源码角度分析一次查询操作过程
  6. vmstat参数解释
  7. docker镜像、容器管理
  8. Hibernate Validation与Spring整合各注解的用法Demo
  9. Codeforces Round #366 (Div. 2)
  10. Ubuntu中安装DiscuzX2