CF1741B.Funny Permutation

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Funny Permutation

题目描述

如果一个长度为 nn 的数列满足恰好包含 11nn 的整数各一个,则我们称之为排列。例如,[3,1,4,2][3,1,4,2][1][1][2,1][2,1] 都是排列,但是 [1,2,1][1,2,1][0,1][0,1][1,3,4][1,3,4] 都不是。

给你一个 nn,你需要构造一个长度为 nn 的排列 pp,使得它同时满足以下两个要求:

  1. 1in\forall 1 \leq i \leq n,都至少有一个邻居(pip_i 的邻居为 pi+1p_{i + 1}pi1p_{i - 1}),使其值为 pi+1p_i + 1pi1p_i - 1

  2. 1in\forall 1 \leq i \leq n,都有 piip_i \ne i

我们称同时符合以上两个要求的排列为“有趣的排列”。

例如,当 n=4n = 4 时,[4,3,1,2][4,3,1,2] 是一个“有趣的排列”,因为:

  • p2=p11=41=3p_2 = p_1 - 1 = 4 - 1 = 3
  • p1=p2+1=3+1=4p_1 = p_2 + 1 = 3 + 1 = 4
  • p4=p3+1=1+1=2p_4 = p_3 + 1 = 1 + 1 = 2
  • p3=p41=21=1p_3 = p_4 - 1 = 2 - 1 = 1
  • 1in\forall 1 \leq i \leq n,都有 piip_i \ne i

给定一个 nn,你需要构造出一个长度为 nn 的“有趣的排列”,或者输出一个 1-1 来表明不存在长度为 nn 的“有趣的排列”。

输入格式

第一行,输入一个正整数 t(1t104t(1 \leq t \leq 10^4,表示数据组数。

接下来 tt 行,每行一个正整数 n(2n2×105)n(2 \leq n \leq 2 \times 10^5),表示你需要构造一个长度为 nn 的“有趣的排列”。

数据保证 n2×105\sum{n} \leq 2 \times 10^5

输出格式

对于每组测试数据,输出任意一个长度为 nn 的“有趣的排列,或者输出一个 1-1——如果这根本不可能。

(Translated by

https://www.luogu.com.cn/user/510555

样例

5
4
3
7
5
2
3 4 2 1
-1
6 7 4 5 3 2 1
5 4 1 2 3
2 1

在线编程 IDE

建议全屏模式获得最佳体验