poj 3435 检测数独状态是否合法
2015-04-27 20:49
169 查看
题意:
给一个数独的状态,判断它是否合法。
分析:
水,直接判断。
代码:
给一个数独的状态,判断它是否合法。
分析:
水,直接判断。
代码:
//poj 3435 //sep9 #include <iostream> using namespace std; const int maxN=10; const int MAX=maxN*maxN+10; int a[MAX][MAX]; int col_check[MAX][MAX]; int row_check[MAX][MAX]; int grid_check[MAX][MAX]; int n,c,r; bool check() { memset(row_check,0,sizeof(row_check)); memset(col_check,0,sizeof(col_check)); memset(grid_check,0,sizeof(grid_check)); for(int i=0;i<r;++i) for(int j=0;j<c;++j) if(a[i][j]!=0){ if(row_check[i][a[i][j]]!=0) return false; if(col_check[j][a[i][j]]!=0) return false; int g=i/n*n+j/n; if(grid_check[g][a[i][j]]!=0) return false; row_check[i][a[i][j]]=1; col_check[j][a[i][j]]=1; grid_check[g][a[i][j]]=1; } return true; } int main() { scanf("%d",&n); c=r=n*n; for(int i=0;i<r;++i) for(int j=0;j<c;++j) scanf("%d",&a[i][j]); if(check()) puts("CORRECT"); else puts("INCORRECT"); return 0; }
相关文章推荐
- 解数独程序源代码,可检测题目是否合法,可解无解/一个解/多个解的情况。leetcode测试较快,现在分享,望指教!
- python中用正则表达式检测邮件是否合法
- js 点击按钮触发下一个月上一个月事件,并且进行检测日期是否合法!
- 检测身份证号码是否合法
- is_callable — 检测参数是否为合法的可调用结构
- GTK 程序 检测 网线是否连接 本地网络状态 C语言实现
- cmd中检测远程的ip和端口是否处于监听状态
- C#检测输入的邮件地址是否合法
- Android检测网络状态,判断当前网络是否可用
- Android检测网络状态,判断当前网络是否可用
- 检测input每次的输入是否合法遇到汉字输入就有问题
- 简单封装:检测邮箱是否合法
- Linux Shell 检测WebSphere(WAS)服务状态是否正常
- 判断数独是否合法
- LintCode389.判断数独是否合法
- 389 - 判断数独是否合法
- 是否为电子邮件地址 检测是否为手机号码 是否为数字 是否为整数 是否为正数 是否为合法的日期格式
- Android检测网络状态,判断当前网络是否可用
- 检测ip地址是否合法的正则表达式
- 检测用户输入是否合法