#12436. 珅泽教育CSP-J第一轮模拟考第二十八套 第 26 题

珅泽教育CSP-J第一轮模拟考第二十八套 第 26 题

二、阅读程序(判断题请选择“正确”或“错误”,共 18 题、40 分)

阅读程序(2)

输入满足 2n132\le n\le13。原卷第 24 题的“第 1010 行”是排版重叠,实际指程序第 10 行。

#include <bits/stdc++.h>
using namespace std;
int n, a[15], c[15];
void dfs(int x) {
    if (x == n + 1) {
        for (int i = 1; i <= n; i++) printf("%d ", a[i]);
        printf("\n");
        return;
    }
    for (int i = x; i >= 1; i--) {
        c[x]++;
        dfs(x + 1);
        if (i > 1) swap(a[i], a[i - 1]);
    }
    for (int i = 1; i < x; i++) swap(a[i], a[i + 1]);
}
int main() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) a[i] = i;
    dfs(1);
    printf("%d", c[n]);
    return 0;
}

输入 5 时,输出的第 115 行是( )。

{{ select(1) }}

  • 5 3 2 4 1
  • 5 3 4 2 1
  • 5 4 2 3 1
  • 5 2 4 3 1