CF2137B.Fun Permutation

入门

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的排列 pp。

你的任务是找到一个长度为 nn 的排列 qq,使得对于所有 1≤i<n1 \leq i < n,都有 gcd⁡(pi+qi,  pi+1+qi+1)≥3\gcd(p_i+q_i,\; p_{i+1}+q_{i+1}) \geq 3。换句话说,任意相邻两个位置上的和的最大公约数不少于 33。

可以证明这样的 qq 总是存在。

一个长度为 mm 的排列是由 11 到 mm 的 mm 个不同整数按任意顺序组成的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是排列(22 在数组中出现了两次),[1,3,4][1,3,4] 也不是排列(m=3m=3,但数组中有 44)。

gcd⁡(x,y)\gcd(x, y) 表示整数 xx 和 yy 的最大公约数。

输入格式

输入包含多组测试用例。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例个数。

每个测试用例第一行包含一个整数 nn(2≤n≤2×1052 \leq n \leq 2\times 10^5)。

第二行包含 nn 个整数 p1,p2,…,pnp_1,p_2,\ldots,p_n(1≤pi≤n1 \leq p_i \leq n)。

保证给定的数组 pp 构成一个排列。

保证所有测试用例中 nn 的总和不超过 2×1052\times 10^5。

输出格式

对于每个测试用例,输出一行排列 qq。如果有多种答案,可以输出任意一种。

输入输出样例

  • 输入#1

    3
    3
    1 3 2
    5
    5 1 2 4 3
    7
    6 7 1 5 4 3 2

    输出#1

    2 3 1
    4 5 1 2 3
    2 1 3 7 5 6 4

说明/提示

在第一个测试用例中,gcd⁡(1+2,3+3)=3≥3\gcd(1+2, 3+3) = 3 \geq 3 且 gcd⁡(3+3,2+1)=3≥3\gcd(3+3, 2+1) = 3 \geq 3,因此输出是正确的。

由 ChatGPT 5 翻译

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

首页