CF2037C.Superultra's Favorite Permutation

入门

通过率:0%

AC君温馨提醒

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

题目描述

Superultra,一只小红熊猫,非常渴望获得原石。在他的梦中,一个声音告诉他,必须解决以下任务才能获得终身原石。请你帮助 Superultra!

构造一个长度为 nn 的排列 pp,使得对于所有 1≤i≤n−11 \leq i \leq n-1,都有 pi+pi+1p_i + p_{i+1} 是合数。如果无法构造,输出 −1-1。

一个长度为 nn 的排列是一个包含 11 到 nn 的 nn 个互不相同整数的数组,顺序任意。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是排列(22 出现了两次),[1,3,4][1,3,4] 也不是排列(n=3n=3 但数组中有 44)。

一个整数 xx 是合数,当且仅当它除了 11 和 xx 之外还有其他约数。例如,44 是合数,因为 22 是它的约数。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例包含一个整数 nn(2≤n≤2×1052 \leq n \leq 2 \times 10^5),表示排列的长度。

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

输出格式

对于每个测试用例,如果无法构造满足条件的排列,输出 −1-1。否则,输出 nn 个整数 p1,p2,…,pnp_1, p_2, \ldots, p_n,表示构造出的排列。

输入输出样例

  • 输入#1

    2
    3
    8

    输出#1

    -1
    1 8 7 3 6 2 4 5

说明/提示

在第一个样例中,可以证明所有长度为 33 的排列都包含一对相邻元素之和为质数。例如,在排列 [2,3,1][2,3,1] 中,2+3=52+3=5 是质数。

在第二个样例中,可以验证样例输出是正确的,因为 1+81+8、8+78+7、7+37+3、3+63+6、6+26+2、2+42+4 和 4+54+5 都是合数。当然,也可能存在其他正确的构造方式。

由 ChatGPT 4.1 翻译

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

首页