码迷,mamicode.com
首页 > 其他好文 > 详细

生成数独终局

时间:2018-03-29 21:20:22      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:font   bottom   tom   blog   5.4   order   val   height   strong   

耽搁了好久今天补一下吧

数独中 1~9 在每一行 每一列还有每个九宫格上只出现一次,每次都随机生成一个新的数独速度太慢,我们可以借用一个生成好的数独当模板。

i

g

h

c

a

b

f

d

e

c

a

b

f

d

e

i

g

h

f

d

e

i

g

h

c

a

b

g

h

i

a

b

c

d

e

f

a

b

c

d

e

f

g

h

i

d

e

f

g

h

i

a

b

c

h

i

g

b

c

a

e

f

d

b

c

a

e

f

d

h

i

g

e

f

d

h

i

g

b

c

a

 

如图可以让1~9 来分别代替这些数字,算上左上方固定的数字共有8!种不同的方法。行和行之间也可以互换共有2!*3!*3!,同理列之间也有这么多。三种情况考虑起来共有约2e8种情况,大于题目所要求数量。

实现代码的思路:分别生成上述的阶乘数,输出时直接索引每个数字对应的值输出即可。(比如生成了1,3,2,5,4,6,8,7,9分别对应a~i,1,3,2,6,5,4,9,8,7分别对应行,输出直接按照所对应的数字输出即可)

生成数独终局

标签:font   bottom   tom   blog   5.4   order   val   height   strong   

原文地址:https://www.cnblogs.com/xiao-ma-running/p/8671961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!