第一次用JavaScript来做简单算法题,简单记录一下。
本人水平有限用的是比较低级的解法,每部分代码都有注释。
如果有错误或者有不明白的地方可以评论,看到都会回复的。
问题表述为:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。
完整代码:
// JavaScript深度遍历算法解决八皇后问题
// 初始8*8二维数组,0代表该位置没有棋子,1代表有棋子
var list = [
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]
]
// index记录一共有多少中方法-+++++++++++++++++6+
var index = 0
//判断list[x][y]是否复合要求,符合则为1,返回true,不符合返回false
function judge(x, y