Quantcast
Viewing all articles
Browse latest Browse all 1638

代码实践:如何用C、Java和Python中的回溯求解数独问题?

数独(Sudoku)是一个9×9的矩阵,其中用1到9的数字进行填写,这样每行、每列和每个子矩阵(3×3)都有一个1到9的数字。如果我们有一个填了一部分的9×9矩阵,并且必须要填上其中剩余的每个单元格,这就是一个数独问题。本文提供了用C、Java和Python中的回溯求解数独问题的方法。

在本文中,我们将介绍一个使用回溯求解数独的算法。如果你不了解回溯,可以从这篇文章中学习一些基本知识。如下给出的一个数独问题。

Image may be NSFW.
Clik here to view.

解如下:

Image may be NSFW.
Clik here to view.

我们可以看到,每行、每列和每个子矩阵(3×3)都包含一个从1到9之间不同的数字。因此,我们还可以假设,如果一个数独满足如下任何一个标准,则可以认为它被填错了:


Viewing all articles
Browse latest Browse all 1638

Trending Articles