CF1822D.Super-Permutation

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A permutation is a sequence nn integers, where each integer from 11 to nn appears exactly once. For example, [1][1], [3,5,2,1,4][3,5,2,1,4], [1,3,2][1,3,2] are permutations, while [2,3,2][2,3,2], [4,3,1][4,3,1], [0][0] are not.

Given a permutation aa, we construct an array bb, where bi=(a1+a2+ … +ai) mod nb_i = (a_1 + a_2 +~\dots~+ a_i) \bmod n.

A permutation of numbers [a1,a2,…,an][a_1, a_2, \dots, a_n] is called a super-permutation if [b1+1,b2+1,…,bn+1][b_1 + 1, b_2 + 1, \dots, b_n + 1] is also a permutation of length nn.

Grisha became interested whether a super-permutation of length nn exists. Help him solve this non-trivial problem. Output any super-permutation of length nn, if it exists. Otherwise, output −1-1.

排列是指一个由 nn 个整数组成的序列,其中每个从 11 到 nn 的整数恰好出现一次。例如,[1][1]、[3,5,2,1,4][3,5,2,1,4]、[1,3,2][1,3,2] 是排列,而 [2,3,2][2,3,2]、[4,3,1][4,3,1]、[0][0] 不是。

给定一个排列 aa,我们构造一个数组 bb,其中 bi=(a1+a2+ … +ai) mod nb_i = (a_1 + a_2 +~\dots~+ a_i) \bmod n。

若排列 [a1,a2,…,an][a_1, a_2, \dots, a_n] 满足 [b1+1,b2+1,…,bn+1][b_1 + 1, b_2 + 1, \dots, b_n + 1] 也是一个长度为 nn 的排列,则称其为超级排列(super-permutation)。

格里沙开始好奇:长度为 nn 的超级排列是否存在?请帮助他解决这个非平凡的问题。如果存在长度为 nn 的超级排列,请输出其中任意一个;否则,输出 −1-1。

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases. The description of the test cases follows.

Each test case consists of a single line containing one integer nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5) — the length of the desired permutation.

The sum of nn over all test cases does not exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。接下来是各测试用例的描述。

每个测试用例由一行组成,其中包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)—— 所需排列的长度。

所有测试用例中 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

For each test case, output in a separate line:

  • nn integers — a super-permutation of length nn, if it exists.
  • −1-1, otherwise.

If there are several suitable permutations, output any of them.

对于每个测试用例,在单独一行中输出:

  • nn 个整数——若长度为 nn 的超排列存在,则输出该超排列;
  • −1-1,否则。

若存在多个符合条件的排列,输出其中任意一个即可。

输入输出样例

  • 输入#1

    4
    1
    2
    3
    6

    输出#1

    1
    2 1
    -1
    6 5 2 3 4 1

输入解题思路,AI测评打分。不知道怎么写?

首页