← 查看本卷题目
组合题6 个小题
已作答 0 / 6
#include <algorithm>#include <cstdio>#include <cstring>bool flag[27];int n;int p[27];int ans = 0;void dfs(int k) {    if (k == n + 1) {        ++ans;        return;    }    for (int i = 1; i <= n; ++i) {        if (flag[i]) continue;        if (k > 1 && i == p[k - 1] + 1) continue;        p[k] = i;        flag[i] = true;        dfs(k + 1);        flag[i] = false;    }    return;}int main() {    scanf("%d", &n);    dfs(1);    printf("%d\n", ans);    return 0;} 
第20题单选题原卷 3 分

如果因为某些问题,导致程序运行第 25 行的 dfs 函数之前,数组 p 的初值并不全为 0,则对程序的影响是( )。

填写答案