level 12
攒银子的但丁
楼主
继标准数独的随机生成和求解攻克后,花了四天时间,搞了五百行左右有效代码,总算把异形数独也搞定了,撒花
写完总结下来,异形数独推理逻辑比标准数独复杂一点,相对有难度的是随机生成异形9宫格框架,要保证9个异形9宫格内部不存在断开且刚好填满9乘9的格子
最让我抓狂的,反而是随机生成有效解的部分,因为9宫格的形状,用回溯每猜一个数字都要受到更多的掣肘,这就导致暴力搜索不管用了,用一个随机框架从头开始猜,随随便便都要跑两三分钟,绕了一大圈把并发、协程这些听着高大上的手段都试了也一样不管用,结果解决办法意想不到的简单,随机生成三行初始值,根据这三行初始值用推理部分的逻辑强推,再套个装饰器,推完结果不对就重新调用,反而因为推理部分速度极快,使得多次尝试也能控制在一秒左右,总算成了,开心![[你懂的]](/static/emoticons/u4f60u61c2u7684.png)





2024年07月22日 05点07分
1
写完总结下来,异形数独推理逻辑比标准数独复杂一点,相对有难度的是随机生成异形9宫格框架,要保证9个异形9宫格内部不存在断开且刚好填满9乘9的格子
最让我抓狂的,反而是随机生成有效解的部分,因为9宫格的形状,用回溯每猜一个数字都要受到更多的掣肘,这就导致暴力搜索不管用了,用一个随机框架从头开始猜,随随便便都要跑两三分钟,绕了一大圈把并发、协程这些听着高大上的手段都试了也一样不管用,结果解决办法意想不到的简单,随机生成三行初始值,根据这三行初始值用推理部分的逻辑强推,再套个装饰器,推完结果不对就重新调用,反而因为推理部分速度极快,使得多次尝试也能控制在一秒左右,总算成了,开心




