编程题
### 问题描述 大衣给你一个长度为 $N$ 的排列 {$1,2,\dots,N$},大衣想将其重新排列得到数组 $P$,使其满足 $(P_1,P_3,P_5,\dots)$ 的最大公约数大于 $(P_2,P_4,P_6,\dots)​$ 的最大公约数。 大衣想知道所有可行的重新排列方法中字典序最大的数组 $P​$,如果不存在解决方法,输出 $-1​$。 ### 输入格式 第一行输入一个正整数 $T$ 表示测试数据的数量。 接下来 $T$ 行每行输入一个正整数 $N$ 表示排列的长度。 ### 输出格式 对于每组测试数据,如果存在解决方法,输出重新排列后字典序最大的数组 $P$,否则输出 $-1$ 并换行。 ### 样例输入1 ```text 3 5 6 17 ``` ### 样例输出1 ```text -1 6 5 4 3 2 1 -1 ``` ### 说明 - 样例 $1$:没有解决方法满足题目要求。 - 样例 $2$:对于 $N=6​$,满足条件的重新排列后的数组有 `[6,3,2,5,4,1]`,`[2,3,4,1,6,5]`,`[6,5,4,3,2,1]`,其中字典序最大的是 `[6,5,4,3,2,1]`。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 10^3$,$2\le N\le10^3$。
查看答案
赣ICP备20007335号-2