【发布时间】:2020-03-24 22:57:53
【问题描述】:
这是关于8皇后问题,我没有得到这部分代码。你能给我解释一下吗? 我不明白如何检测此代码上的冲突? 什么是dp?
// Count the number or row collisions
var rowCollisions = function (a) {
collision = 0;
for (var i in a) {
for (var j in a) {
if (j != i) {
collision = a[i] == a[j] ? collision+1 : collision;
}
}
}
return collision;
};
// Count the number of column collisions
var diaCollisions = function (a) {
collision = 0;
for (var i in a){
for (var j in a){
if (i != j) {
dp = Math.abs(i-j);
collision = a[i] == a[j]+dp ? collision+1 : collision;
collision = a[i] == a[j]-dp ? collision+1 : collision;
}
}
}
return collision / 2;
};
【问题讨论】:
-
什么是
a? ...这是一个列位置数组对吗? -
a是 8 个随机数 (1-8) 的数组,代表皇后的位置
标签: javascript computer-science chess