构造数独
来源:互联网 发布:人事管理数据流程图 编辑:程序博客网 时间:2024/03/29 20:42
#include<iostream>#include<ctime>using namespace std;bool valid(int sudoku[][9],int m,int n){ int tmp=sudoku[m][n]; int i,j,k,l; for(i=0;i<9;i++) { if(i!=m&&sudoku[i][n]==tmp)return false; } for(j=0;j<9;j++) { if(j!=n&&sudoku[m][j]==tmp)return false; } i=m/3*3; j=n/3*3; for(k=i;k<i+3;k++) { for(l=j;l<j+3;l++) { if((k!=m||l!=n)&&sudoku[k][l]==tmp)return false; } } return true;}void create_sudoku(int sudoku[][9]){ int i,j,k=0; while(1) { i=k/9; j=k%9; while(1) { sudoku[i][j]++; if(sudoku[i][j]==10) { sudoku[i][j]=0; if(k>0)k--; break; } else if(valid(sudoku,i,j)) { k++; break; } } if(k==81) { for(i=0;i<9;i++) { for(j=0;j<9;j++)cout<<sudoku[i][j]<<' '; cout<<endl; } break; } }}int main(){ int i,tmp; int sudoku[9][9]={0}; srand((unsigned)time(0)); for(i=1;i<=9;i++) { tmp=rand()%81; sudoku[tmp/9][tmp%9]=i; } create_sudoku(sudoku); return 0;}
0 0
- 构造数独
- 1.15 构造数独
- 构造数独
- 构造数独
- 构造数独
- 构造数独
- 构造数独和解数独
- 算法杂谈--构造数独
- 编程之美...构造数独
- 编程之美 1.15 构造数独
- 第一章 游戏之乐 构造数独
- 读书笔记之编程之美 - 1.15 构造数独
- 编程之美1.15——构造数独
- 编程之美——构造数独
- 编程之美中构造数独例子
- 编程之美1.15——构造数独
- [编程之美] PSet1.15 构造数独
- 编程之美:第一章 1.15构造数独
- 在IOS应用中打开另外一个应用的解决方案
- NandFlash详述
- [cocos2dx 日常学习]场景回溯
- C++智能指针的设计和使用
- POJ3071---Football
- 构造数独
- Linux互斥与同步应用(二):posix线程同步
- 图书检索功能实现---图书馆客户端
- iphone开发中的多线程:NSThread、NSOperation、GCD
- eclipse中将maven web项目部署到tomcat中
- NSData
- 拉丁方阵问题
- n a^o7 !
- saveHierarchyState问题