DFS在Python中搜索非语法

2024-07-04 16:47:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须通过使用DFS搜索来解决Python中的Nonogram,我可以收集行排列。所以对于非图中的每一行,我可以有如下的有效排列(2表示填充单元格,1表示未填充单元格)

例如:

Columns: [[5], [2, 2], [1, 1], [2, 2], [5]]

Rows: [[5], [2, 2], [1, 1], [2, 2], [5]]

行上的排列可以找到:

Row1: [[2, 2, 2, 2, 2]]
Row2: [[2, 2, 1, 2, 2]]
Row3: [[2, 1, 2, 1, 1], [2, 1, 1, 2, 1], [2, 1, 1, 1, 2], [1, 2, 1, 2, 1], [1, 2, 1, 1, 2], [1, 1, 2, 1, 2]]
Row4: [[2, 2, 1, 2, 2]]
Row5: [2, 2, 1, 2, 2]

另外,我有列规则。现在我必须进行第一个置换Row1,然后是Row2上的第一个置换,并检查列是否正常。如果可以的话,我需要获取Row3的第一个候选排列并再次检查。如果可以,我将转到Row4,如果不行,我必须考虑Row3的第二个排列

我可以说,当你思考的时候,这有点容易,但我无法知道从哪里开始,如何开始,并将每一行添加到另一行的顶部,并进行列检查。因为列有空格,我不知道如何构造支票

如果你能用手指创造缪斯女神,我会很高兴的


Tags: columns规则rows手指行上row1row2row3

热门问题