基于SAT的数独游戏求解器,C语言代码。
用0代表要填写的数字。
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
#定义尺寸9
# define get _ low _ bit(x)((~ x & amp;(x-1))+1)
结构{
int left
字符数;
char try
} board[SIZE][SIZE];
int bit2num(int位)
{
开关(位){
案例16:
案例256:
return 9;
基本解
排除法(排除法)
排除法:用数字寻找一个单元格中唯一可以填充的空格叫排除法,唯一可以用数字填充的空格叫隐藏单。
根据作用范围的不同,消除方案可分为以下三种类型:
一个数唯一能填的空格,在“宫”单位里叫做隐藏单in框,也叫宫排除法。
一个数所能填充的唯一空间在“行”单元中称为隐藏单行,也叫行排除法。