#12089. 珅泽教育CSP-J第一轮模拟考第二十一套 第 24 题

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

二、阅读程序(判断题正确填 T,错误填 F;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)

程序(2)

#include <bits/stdc++.h>
using namespace std;

int n, k;

int func(vector<int> &nums) {
    int ret = 0;
    for (int i = n; i > k; i--) {
        if (nums[i] > nums[i - k]) {
            swap(nums[i], nums[i - k]);
            ret++;
        }
    }
    return ret;
}

int main() {
    cin >> n >> k;
    vector<int> a(n + 1, 0);
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    int counter = 0, previous = -1;
    while (counter != previous) {
        previous = counter;
        counter += func(a);
    }
    for (int i = 1; i <= n; i++)
        cout << a[i] << ",";
    cout << endl << counter << endl;
    return 0;
}

假设输入的 n,kn,k 是不超过 100000 的正整数,输入的 a[i]a[i] 是不超过 10910^9 的整数,且 knk \le n

(1 分)当输入为 8 1 1 9 2 3 4 6 8 7 时,输出共有 18 个可见字符。( )

{{ select(1) }}

  • 正确
  • 错误