专栏文章

CF2147B 题解

CF2147B题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mintmbfi
此快照首次捕获于
2025/12/02 08:09
3 个月前
此快照最后确认于
2025/12/02 08:09
3 个月前
查看原文
更佳的阅读体验:CF2147B 题解

简要题意:构造一个长度为 2n2n 的序列,使得 [1,n][1, n] 中的每个数恰好出现两次,并且这两次出现的位置之间的距离恰好为它的倍数。
我们考虑构造这样的一个序列:n,n1,,1,n,1,2,,n1n, n - 1, \cdots, 1, n, 1, 2, \cdots, n - 1。可以证明这样的序列一定是合法的。
CPP
// B

#include <iostream>
using namespace std;

int t, n;

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    for (cin >> t; t; --t) {
        cin >> n;
        for (int i = n; i; --i) cout << i << ' ';
        cout << n << ' ';
        for (int i = 1; i < n; ++i) cout << i << " \n"[i == n - 1];
    } return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...