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;
}


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

全部评论

相关推荐

拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务