CF1741B Funny Permutation
题目描述
如果一个长度为 $n$ 的数列满足恰好包含 $1$ 到 $n$ 的整数各一个,则我们称之为排列。例如,$[3,1,4,2]$、$[1]$ 和 $[2,1]$ 都是排列,但是 $[1,2,1]$、$[0,1]$ 和 $[1,3,4]$ 都不是。
给你一个 $n$,你需要构造一个长度为 $n$ 的排列 $p$,使得它同时满足以下两个要求:
1. $\forall 1 \leq i \leq n$,都至少有一个邻居($p_i$ 的邻居为 $p_{i + 1}$ 和 $p_{i - 1}$),使其值为 $p_i + 1$ 或 $p_i - 1$。
2. $\forall 1 \leq i \leq n$,都有 $p_i \ne i$。
我们称同时符合以上两个要求的排列为“有趣的排列”。
例如,当 $n = 4$ 时,$[4,3,1,2]$ 是一个“有趣的排列”,因为:
* $p_2 = p_1 - 1 = 4 - 1 = 3$;
* $p_1 = p_2 + 1 = 3 + 1 = 4$;
* $p_4 = p_3 + 1 = 1 + 1 = 2$;
* $p_3 = p_4 - 1 = 2 - 1 = 1$;
* $\forall 1 \leq i \leq n$,都有 $p_i \ne i$。
给定一个 $n$,你需要构造出一个长度为 $n$ 的“有趣的排列”,或者输出一个 $-1$ 来表明不存在长度为 $n$ 的“有趣的排列”。
输入格式
第一行,输入一个正整数 $t(1 \leq t \leq 10^4$,表示数据组数。
接下来 $t$ 行,每行一个正整数 $n(2 \leq n \leq 2 \times 10^5)$,表示你需要构造一个长度为 $n$ 的“有趣的排列”。
数据保证 $\sum{n} \leq 2 \times 10^5$。
输出格式
对于每组测试数据,输出**任意**一个长度为 $n$ 的“有趣的排列,或者输出一个 $-1$——如果这根本不可能。
(Translated by @[owo_ImposterAnYu_owo](https://www.luogu.com.cn/user/510555))
说明/提示
The first test case is explained in the problem statement.
In the second test case, it is not possible to make the required permutation: permutations $ [1, 2, 3] $ , $ [1, 3, 2] $ , $ [2, 1, 3] $ , $ [3, 2, 1] $ have fixed points, and in $ [2, 3, 1] $ and $ [3, 1, 2] $ the first condition is met not for all positions.