CF1930B.Permutation Printing

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Permutation Printing

题目描述

给定一个正整数 nn

请你找到一个长度为 nn 的排列 ^\dagger pp,使得不存在两个不同的下标 iijj1i,j<n1 \leq i, j < niji \neq j),满足 pip_i 能整除 pjp_jpi+1p_{i+1} 能整除 pj+1p_{j+1}

具体例子请参考说明部分。

在本题的限制下,可以证明至少存在一个满足条件的排列 pp

^\dagger 长度为 nn 的排列是由 11nnnn 个互不相同的整数按任意顺序组成的数组。例如,[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)。

输入格式

每组测试包含多组数据。第一行包含一个整数 tt1t1031 \leq t \leq 10^3),表示测试用例的数量。接下来是每组测试用例的描述。

每组测试用例的第一行包含一个整数 nn3n1053 \leq n \leq 10^5),表示排列 pp 的长度。

保证所有测试用例中 nn 的总和不超过 10510^5

输出格式

对于每组测试用例,输出 p1,p2,,pnp_1, p_2, \ldots, p_n

如果有多种方案,你可以输出其中任意一种。

说明/提示

在第一个测试用例中,p=[4,1,2,3]p=[4,1,2,3] 是一个合法的排列。然而,排列 p=[1,2,3,4]p=[1,2,3,4] 不是合法的排列,因为我们可以选择 i=1i=1j=3j=3,此时 p1=1p_1=1 能整除 p3=3p_3=3,且 p2=2p_2=2 能整除 p4=4p_4=4。注意,排列 p=[3,4,2,1]p=[3,4,2,1] 也不是合法的排列,因为我们可以选择 i=3i=3j=2j=2,此时 p3=2p_3=2 能整除 p2=4p_2=4,且 p4=1p_4=1 能整除 p3=2p_3=2

在第二个测试用例中,p=[1,2,3]p=[1,2,3] 是一个合法的排列。实际上,长度为 33 的所有 66 个排列都是合法的。

由 ChatGPT 4.1 翻译

样例

2
4
3
4 1 2 3
1 2 3

在线编程 IDE

建议全屏模式获得最佳体验