编程之美-构造数独(1)
生活随笔
收集整理的這篇文章主要介紹了
编程之美-构造数独(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
回溯法:
#include <stdio.h> #include <stdlib.h> #include <time.h>int isShudu(int shudu[9][9], int i, int j) {int k;int temp=shudu[i][j];int flag=1;for(k=0; k<9; ++k){if (k!=i && shudu[k][j]==temp){flag=0;}}for(k=0; k<9; ++k){if (k!=j && shudu[i][k]==temp){flag=0;}}int p = i/3; int q = j/3; int m;int n;for(m=p*3; m<p*3+3; m++) {for(n=q*3; n<q*3+3; n++) {if(m!=i && n!=j && shudu[m][n]==temp){flag=0; }}}return flag; }void outPut(int shudu[9][9]) { int i;int j;for(i=0; i<9; ++i){for (j=0; j<9; ++j){printf("%d ", shudu[i][j]);}printf("\n");} }int main() {int shudu[9][9]={0};int i;int j;int k=0;srand(time(0));for (i=1; i<=9; ++i){int temp=rand()%81;shudu[temp/9][temp%9]=i;}while (1){i=k/9;j=k%9;while(1){++shudu[i][j];if (shudu[i][j]>9){shudu[i][j]=0;--k;break;}if (isShudu(shudu, i ,j)==1){++k;break;}}if(81==k){outPut(shudu);break;}}return 0; }?
轉載于:https://www.cnblogs.com/xulu/archive/2012/05/09/2491434.html
總結
以上是生活随笔為你收集整理的编程之美-构造数独(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate关联关系映射-----
- 下一篇: IE userdata