1.数独问题
对一个1~9的数,在每行、每列,每一个宫只能出现一次。因此,每一行、每一列、每一个宫均是这9个数的一个排列。
用rvisit[ ][i]记录数i在每行(row)的访问情况,cvisit[ ][i]记录每列(coloumn),svisit[ ][i]记录每一个宫(subsquare)。易得:第x行第y列属于第3*(x/3)+y/3个宫。从左至右从上至下,依次填充每一个空格子(空格子用0表示),从数1~9挨个尝试,遍历所有情况。代码如下:
对一个1~9的数,在每行、每列,每一个宫只能出现一次。因此,每一行、每一列、每一个宫均是这9个数的一个排列。
用rvisit[ ][i]记录数i在每行(row)的访问情况,cvisit[ ][i]记录每列(coloumn),svisit[ ][i]记录每一个宫(subsquare)。易得:第x行第y列属于第3*(x/3)+y/3个宫。从左至右从上至下,依次填充每一个空格子(空格子用0表示),从数1~9挨个尝试,遍历所有情况。代码如下: