Codeforces 1352 G. Special Permutation(构造)

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<vector>
#include<queue>
#include<set>
#define IL inline
#define x first
#define y second
typedef long long ll;
using namespace std;
int main()
{
   
	int t;
	cin>>t;
	while(t--)
	{
   
		int n;
		cin>>n;
		if(n<=3)
		cout<<-1<<endl;
		else if(n==4)
		{
   
			cout<<"3 1 4 2"<<endl;
		}
		else
		{
   
			for(int i=1;i<=n;i+=2)
			cout<<i<<' ';
			if(n%2)
			{
   
				int pos=n;
				pos-=3;
				cout<<pos<<' ';
				cout<<pos+2<<' ';
				for(int i=pos-2;i>=2;i-=2)
				cout<<i<<' ';
				cout<<endl;	
			}
			else
			{
   
				int pos=n-1;
				pos-=3;
				cout<<pos<<' ';
				cout<<pos+4<<' ';
				cout<<pos+2<<' ';
				for(int i=pos-2;i>=1;i-=2)
				cout<<i<<' ';
				cout<<endl;
			}
		}
	}
    return 0;
}


模拟一遍就行了,我只是不会而已,蒟蒻。

全部评论

相关推荐

小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:52
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务