好友
阅读权限20
听众
最后登录1970-1-1
|
一个类数独小游戏,规则如下:
1,有一个 10×10 的矩阵。
2,矩阵中的每个格子只能是 0 或者 1。
3,每行每列都有特定的约束条件,这些约束条件由 1 个或多个 1 - 9 的数字组成。每个数字代表该行或该列中连续 1 的数量。并且每段连续 1 之间必须要有至少 1 个 0。
给定的数列约束:
行约束:
row_constraints = [[5,2], [8,1], [10], [4,3], [6,1], [5,3], [7,1], [4,3], [5,3], [1,1]]
列约束:
col_constraints = [[2, 2, 3], [3, 5], [9], [9], [7, 1], [5, 1], [2, 1], [8], [1, 2, 1, 2], [4, 5]]
参考解如下:
我的第一个想法是创建10*10矩阵,然后暴力生成各种0和1的组合,挨个进行检测,但因为组合过多,时间太久,效率太低
第二个想法是把约束数字转成相同数量的数字1和0,进行字符串形式的比较,但技术有限,最终没有实现正确解法。
求助大神有没有好的思路,如果有相关代码就更好了。
|
|