题解:CF2147B Multiple Construction
题目传送门。
思路
一般本蒟蒻看到构造题时,总是先想办法找到通用解法。
由于数字越少间隔越小(如果有通解,间隔一般不会倍数错乱),我们让小的数排在中间,大的数排在外围,就会得到如下序列。
发现:如果在这个数列中,在两个
最终序列如下。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=1;i<n;i++) cout<<n-i<<' ';
cout<<n<<' ';
for(int i=1;i<=n;i++) cout<<i<<' ';
cout<<"\n";
}
return 0;//抱歉没放AC记录
}