CF1822D.Super-Permutation
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A permutation is a sequence n integers, where each integer from 1 to n appears exactly once. For example, [1], [3,5,2,1,4], [1,3,2] are permutations, while [2,3,2], [4,3,1], [0] are not.
Given a permutation a, we construct an array b, where bi=(a1+a2+ … +ai)modn.
A permutation of numbers [a1,a2,…,an] is called a super-permutation if [b1+1,b2+1,…,bn+1] is also a permutation of length n.
Grisha became interested whether a super-permutation of length n exists. Help him solve this non-trivial problem. Output any super-permutation of length n, if it exists. Otherwise, output −1.
排列是指一个由 n 个整数组成的序列,其中每个从 1 到 n 的整数恰好出现一次。例如,[1]、[3,5,2,1,4]、[1,3,2] 是排列,而 [2,3,2]、[4,3,1]、[0] 不是。
给定一个排列 a,我们构造一个数组 b,其中 bi=(a1+a2+ … +ai)modn。
若排列 [a1,a2,…,an] 满足 [b1+1,b2+1,…,bn+1] 也是一个长度为 n 的排列,则称其为超级排列(super-permutation)。
格里沙开始好奇:长度为 n 的超级排列是否存在?请帮助他解决这个非平凡的问题。如果存在长度为 n 的超级排列,请输出其中任意一个;否则,输出 −1。
输入格式
The first line contains a single integer t (1≤t≤104) — the number of test cases. The description of the test cases follows.
Each test case consists of a single line containing one integer n (1≤n≤2⋅105) — the length of the desired permutation.
The sum of n over all test cases does not exceed 2⋅105.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。接下来是各测试用例的描述。
每个测试用例由一行组成,其中包含一个整数 n(1≤n≤2⋅105)—— 所需排列的长度。
所有测试用例中 n 的总和不超过 2⋅105。
输出格式
For each test case, output in a separate line:
- n integers — a super-permutation of length n, if it exists.
- −1, otherwise.
If there are several suitable permutations, output any of them.
对于每个测试用例,在单独一行中输出:
- n 个整数——若长度为 n 的超排列存在,则输出该超排列;
- −1,否则。
若存在多个符合条件的排列,输出其中任意一个即可。
输入输出样例
输入#1
4 1 2 3 6
输出#1
1 2 1 -1 6 5 2 3 4 1
输入解题思路,AI测评打分。不知道怎么写?