}
// 检columnx列
for (j = 0; j < 8; j++) {
if (array[j][column] != 0) {
return false;
}
}
// 检查对角向左上
i = row;
j = column;
while (i >= 0 && j >= 0) {
if (array[i][j] != 0) {
return false;
}
i--;
j--;
}
// 检查对角向右上
i = row;
j = column;
while (i >= 0 && j < 8) {
if (array[i][j] != 0) {
return false;
}
i--;
j++;
}
// 检查对角向左下
i = row;
j = column;
while (i < 8 && j >= 0) {
if (array[i][j] != 0) {
return false;
}
i++;
j--;
}
// 检查对角向右下
i = row;
j = column;
while (i < 8 && j < 8) {
if (array[i][j] != 0) {
return false;
}
i++;
j++;
}
return true;
}
bool isResult(int** array) {
int size = 0; // 皇后个数
// 统计皇后个数
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
if (array[i][j] != 0) {
size++;
}
}
}
// 没有8个皇后,说明不是结果
// 有8个皇后,因为每个皇后的放置都是在合法位置, 所以只需要简单的计算皇后个数就知道是不是结果.
if (size != 8) {
return false;
}
return true;
}