数独:9行9列表格,各行各列都填上1-9,且各行各列不能有重复数字
来源:互联网 发布:数据修真 编辑:程序博客网 时间:2024/05/22 16:04
#include <stdio.h>#include <stdlib.h>#include <time.h>int main( int argc, char * argv[] ){int pos = 0;int row,col;int val;int a[9][9] = {0};int count;srand(time(NULL));pos = 0;LOOP_OUT:while(pos<=80) //pos 0 ==> a[0][0], pos 80 ==> a[8][8]{row = pos/9;col = pos%9;val = random()%9 + 1;for(count = 1; count<= 9; count++){if( check_ok(a,pos,val) ){a[row][col] = val;pos++;goto LOOP_OUT;}else//if val is 5, we try 6,7,8,9,1,2,3,4val = val%9+1;}// this pos , val failedif(pos >=9)pos -=9; //pos fail, back 1 line}//print resultfor( row = 0; row<9; row++){for( col = 0; col<9; col++)printf("%d ", a[row][col]);printf("\n");}return 0;}int check_ok(int a[9][9], int pos, int value){int row = pos/9;int col = pos%9;int i,j;j = col;for( i=row-1; i>=0;i--){if( a[i][j] == value )return 0;}i = row;for( j=col-1; j>=0; j--){if( a[i][j] == value )return 0;}return 1;}
4 6 9 7 8 1 2 3 5
2 8 1 4 9 3 5 6 7
8 2 3 5 4 6 9 7 1
9 7 4 6 1 5 8 2 3
3 9 5 1 7 2 4 8 6
5 3 8 9 2 7 6 1 4
6 1 7 8 5 4 3 9 2
7 4 6 2 3 9 1 5 8
- 数独:9行9列表格,各行各列都填上1-9,且各行各列不能有重复数字
- matlab中随机打乱矩阵的各行或者各列
- 输入N阶方阵求其各行各列的和
- 表格各行变色
- C++第二次测验——二维数组各行各列之和
- JS实例-表格各行换色
- 将自然数1--9这九个数分成三组,将每组的三个数字拼成三位数,每个数字不能重复,且每个三位数都是完全平方数。请找出这样的三个三位数。
- 各行变色
- 有n个1-9的互不重复的数字,能组成多少个互不相同且无重复数字的n-1位数?都是多少?
- excel表把某一列中相同值进行合并,把该值对应的各行的值进行合并
- 趣题:每一列中至少有一个数字0或数字9
- css表格各行颜色交替 tr:nth-child(odd)
- jquery表格动态添加及各行变色效果
- 计算系统输入文件内各行数字的和
- 随机生成1-100的数字,且不能重复
- 各行小数点对齐
- 各行小数点对齐
- 各行小数点对齐
- MonkeyRunner_学习地址
- simple_html_dom使用小结
- windows核心编程--作业相关
- spring集成jotm实现JTA分布式事务管理
- Linux驱动学习记录 devfs_mk_cdev
- 数独:9行9列表格,各行各列都填上1-9,且各行各列不能有重复数字
- .net后台生成meta 并控制meta在head里顺序
- Unity3D Shader官方教程翻译(五)----Shader语法:Pass
- 关于变量的各种运算自增(自减)总结:
- primary key与unique的区别
- linux更改主机名
- 数理逻辑:公理化算术(10)算术函数性质的公理可推出性与含义可推出性
- ConcurrentHashMap
- Unity3D Shader官方教程翻译(六)----Shader语法:Pass的Color, Material, Lighting