嗨,看看 这个已经处理过这个主题的线程,这个线程可能也很有趣.
我试着写一个函数
candidates :: Sudoku -> Pos -> [Int]
Run Code Online (Sandbox Code Playgroud)
给了一个数独
data Sudoku = Sudoku { rows :: [[Maybe Int]] }
deriving ( Show, Eq )
Run Code Online (Sandbox Code Playgroud)
并且position(type Pos = (Int, Int))确定你可以在那里写什么数字,例如在已经包含(1,2,4,7,9,x,x)的数独行中你不能写出最后一个已存在的数字行.另一个问题是检查高度和宽度,因此没有数字出现多次(普通的数独规则).那么关于如何开始的任何建议?
示例:数独>候选示例(0,2)[4,8]