下面求解八皇后的程序属于哪种算法?
int pos[8];
void queen(int n) {
for (int i = 0; i < 8; i++) {
pos[n] = i;
bool attacked = false;
for (int j = 0; j < n; j++)
if (pos[n]==pos[j] || pos[n]+n==pos[j]+j || pos[n]-n==pos[j]-j) { attacked=true; break; }
if (attacked) continue;
if (n == 7) return;
else queen(n + 1);
}
}
- A. 贪心算法
- B. 动态规划
- C. 深度优先搜索
- D. 广度优先搜索
正确答案:C