uva11464-二进制的裸题
来源:互联网 发布:怎么做微信淘宝客 编辑:程序博客网 时间:2024/05/17 08:11
主要用二进制表示出状态就ok了.
#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int maxn=20;const int INF=0x3f3f3f3f;int A[maxn][maxn],B[maxn][maxn];int n;int check(int s){ memset(B,0,sizeof(B)); for(int i=0;i<n;i++){ if(s&(1<<i))B[0][i]=1; else if(A[0][i])return INF; } for(int i=1;i<n;i++){ for(int j=0;j<n;j++){ int sum=0; if(i>1)sum+=B[i-2][j]; if(j>0)sum+=B[i-1][j-1]; if(j<n-1)sum+=B[i-1][j+1]; B[i][j]=sum%2; if(A[i][j]&&!B[i][j])return INF; } } int cnt=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(A[i][j]!=B[i][j])cnt++; return cnt;}int main(){ int T,cas=1; scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%d",&A[i][j]); int ans=INF; for(int i=0;i<(1<<n);i++){ ans=min(ans,check(i)); } if(ans==INF)ans=-1; printf("Case %d: %d\n",cas++,ans); } return 0;}
0 0
- uva11464-二进制的裸题
- uva11464(二进制枚举)
- UVa11464
- uva11464
- UVa11464
- UVA11464
- uva11464
- uva11464 偶矩阵,推理题
- 二进制的一些题
- 二进制的算法题
- Uva11464 - Even Parity
- uva11464 - Even Parity
- UVA11464 Even Parity
- UVA11464偶数矩阵
- uva11464(状态压缩)
- UVA11464 Even Parity
- Uva11464 - Even Parity
- uva11464 - Age Sort
- list<Model>判断用户是否存在,取出model只修改指定值
- 恶魔的奶爸英语 初级教程
- Android 反编译查看apk的源代码、资源文件、XML文件
- MOOC程序设计期中考试1.2
- poj 1094 Sorting It All Out 拓扑排序+判环
- uva11464-二进制的裸题
- 第十周周报
- 下雨天,心情不好。
- ZOJ-3172
- hdu 3033 I love sneakers!(分组背包,每组至少取一件)
- WPF XAML绑定xml
- 大话设计之装饰模式
- Wlan开关/Wifi开关变灰无法开启的问题(win8/win8.1系统)
- 如何解决git提交代码冲突