Codeforces 1352 G. Special Permutation(构造)
原创
©著作权归作者所有:来自51CTO博客作者wx63db9cf49ed95的原创作品,请联系作者获取转载授权,否则将追究法律责任
AC代码:
const int N = 2e5 + 10;
int n, m, k;
int cnt, res, pos, ans;
int a[N];
int main()
{
int t;
sd(t);
while (t--)
{
sd(n);
if (n < 4)
{
puts("-1");
continue;
}
if (n == 4)
{
puts("3 1 4 2");
continue;
}
ans = 1;
while (ans <= n)
printf("%d ", ans), ans += 2;
ans -= 5, printf("%d ", ans);
if (ans + 4 <= n)
printf("%d ", ans + 4);
if (ans + 2 <= n)
printf("%d ", ans + 2);
ans -= 2;
while (ans > 1)
printf("%d ", ans), ans -= 2;
printf("\n");
}
return 0;
}