万卷网 > 题目详情
题型:组合题
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;
}
(1).

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

A.

输出的答案比原答案要小

B.

无法确定输出的答案

C.

程序可能陷入死循环

D.

没有影响

(2).

在dfs函数运行过程中,k的取值会满足1≤k≤n+1。

A.正确 B.错误
(3).

假如删去第14行的“if (flag[i]) continue;”,输入3,得到的输出答案是?

A.

27

B.

3

C.

16

D.

12

(4).

当输入的n=4的时候,程序输出的答案为?

A.

11

B.

12

C.

24

D.

9

(5).

删除第19行的“flag[i]=false;”,对答案不会产生影响。

A.正确 B.错误
(6).

当输入的n=3的时候,程序输出的答案为3。

A.正确 B.错误
更新时间:2025-10-16 09:47:43 |
【知识点】 CCF非专业级别软件能力认证CSP-S/提高级

相似题推荐

简答题

T4员工招聘

2026-04-17
简答题

T1社团招新

2026-04-17
简答题

T2道路修复

2026-04-17
简答题

T3谐音替换

2026-04-16
单选题

对一个大小为16(下标0-15)的数组构建满线段树,查询区间[3,11]时,最少需要访问多少个树结点(包括路径上的父结点和完全包含在查询区间内的结点)?

A.

7

B.

8

C.

9

D.

10

2025-10-17
公众号
客服 反馈
顶部