A. 最大值与最小值
每测试点时间限制:1 秒
内存限制:256 兆字节
题目描述
给定一个整数 n。请找出任意一个长度为 n 的排列 p,使得:
对所有 2≤i≤n,满足
max(pi−1,pi)modi=i−1
如果不存在这样的排列 p,则输出 −1。
说明
-
长度为 n 的排列是指一个包含 n 个不同整数 1,2,…,n 的数组,顺序任意。
例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是(2 出现了两次),[1,3,4] 也不是n=3 但数组中有 4)。
-
xmody 表示 x 除以 y 的余数。
输入格式
每个测试文件包含多个测试用例。
第一行包含一个整数 t(1≤t≤99),表示测试用例的数量。
接下来每个测试用例一行,包含一个整数 n(2≤n≤100)。
输出格式
对于每个测试用例:
- 如果不存在这样的排列 p,输出一行一个整数 −1。
- 否则,输出一行 n 个整数 p1,p2,…,pn,表示你找到的排列 p。
如果有多个答案,输出任意一个即可。
示例
输入
4
2
3
4
5
输出
-1
3 2 1
-1
1 5 2 3 4
样例解释
第一个测试用例 n=2:不可能找到这样的排列,输出 −1。
第四个测试用例 n=5,p=[1,5,2,3,4] 满足条件:
- i=2:max(p1,p2)=5,5mod2=1
- i=3:max(p2,p3)=5,5mod3=2
- i=4:max(p3,p4)=3,3mod4=3
- i=5:max(p4,p5)=4,4mod5=4