C-小苯的排列构造_北京信息科技大学第十五届程序设计竞赛(同步赛) (nowcoder.com)
凑2很容易想出来,但是2 4 1 3 这个内核不好想,算是一种尝试和经验吧
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
if(n<4)cout<<-1<<"\n";
else{
deque<int>dq;
dq.push_back(2),dq.push_back(4),dq.push_back(1),dq.push_back(3);
for(int i=5;i<=n;i++){
if(i%2)dq.push_front(i);
else dq.push_back(i);
}
for(auto &t:dq)cout<<t<<" ";
}
}