传送门:洛谷 CF2147B Multiple Construction | Codeforces B. Multiple Construction
更佳的阅读体验:CF2147B 题解
简要题意:构造一个长度为 $2n$ 的序列,使得 $[1, n]$ 中的每个数恰好出现两次,并且这两次出现的位置之间的距离恰好为它的倍数。
我们考虑构造这样的一个序列:$n, n - 1, \cdots, 1, n, 1, 2, \cdots, n - 1$。可以证明这样的序列一定是合法的。
// 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;
}