jjzjj

backtracking

全部标签

c++ - 12个统治骑士拼图(回溯)

我一直在寻找几个小时,还没有找到解决这种难题的完全有效的解决方案。所以我对主教也有类似的问题。我需要做的是在棋盘上放置12个骑士,使棋盘上的所有空闲方格都被至少一个棋子攻击。最终的结果应该是这样的:问题是我的程序只尝试了最后两个部分的不同组合,然后不知何故崩溃了。已编辑到目前为止我做了什么:#includeusingnamespacestd;#defineN8voidfillChessBoard(int(&chessBoard)[N][N],intnum);voidprintChessBoard(int(&chessBoard)[N][N]);voidremoveKnight(int(

java - Java中的数独求解器,使用回溯和递归

我正在用Java为9x9网格编写数独求解器。我有以下方法:打印网格使用给定值初始化板测试冲突(如果相同的数字在同一行或3x3子网格中)一种逐一放置数字的方法,这需要最多的工作。在我详细介绍该方法之前,请记住,我必须使用递归来解决它,以及回溯(以此处的小程序为例http://www.heimetli.ch/ffh/simplifiedsudoku.html)另外,我正在通过垂直向下移动来解决这个数独问题,从左上角开始,通过第一列,然后通过第二列,等等。到目前为止,我有以下内容:publicbooleanplaceNumber(intcolumn){if(column==SUDOKU_SI

java - Java中的数独求解器,使用回溯和递归

我正在用Java为9x9网格编写数独求解器。我有以下方法:打印网格使用给定值初始化板测试冲突(如果相同的数字在同一行或3x3子网格中)一种逐一放置数字的方法,这需要最多的工作。在我详细介绍该方法之前,请记住,我必须使用递归来解决它,以及回溯(以此处的小程序为例http://www.heimetli.ch/ffh/simplifiedsudoku.html)另外,我正在通过垂直向下移动来解决这个数独问题,从左上角开始,通过第一列,然后通过第二列,等等。到目前为止,我有以下内容:publicbooleanplaceNumber(intcolumn){if(column==SUDOKU_SI