CF1930B Permutation Printing
题目描述
给定一个正整数 $n$。
请你找到一个长度为 $n$ 的排列 $^\dagger$ $p$,使得不存在两个不同的下标 $i$ 和 $j$($1 \leq i, j < n$,$i \neq j$),满足 $p_i$ 能整除 $p_j$ 且 $p_{i+1}$ 能整除 $p_{j+1}$。
具体例子请参考说明部分。
在本题的限制下,可以证明至少存在一个满足条件的排列 $p$。
$^\dagger$ 长度为 $n$ 的排列是由 $1$ 到 $n$ 的 $n$ 个互不相同的整数按任意顺序组成的数组。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是排列($2$ 在数组中出现了两次),$[1,3,4]$ 也不是排列($n=3$ 但数组中有 $4$)。
输入格式
每组测试包含多组数据。第一行包含一个整数 $t$($1 \leq t \leq 10^3$),表示测试用例的数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含一个整数 $n$($3 \leq n \leq 10^5$),表示排列 $p$ 的长度。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每组测试用例,输出 $p_1, p_2, \ldots, p_n$。
如果有多种方案,你可以输出其中任意一种。
说明/提示
在第一个测试用例中,$p=[4,1,2,3]$ 是一个合法的排列。然而,排列 $p=[1,2,3,4]$ 不是合法的排列,因为我们可以选择 $i=1$ 和 $j=3$,此时 $p_1=1$ 能整除 $p_3=3$,且 $p_2=2$ 能整除 $p_4=4$。注意,排列 $p=[3,4,2,1]$ 也不是合法的排列,因为我们可以选择 $i=3$ 和 $j=2$,此时 $p_3=2$ 能整除 $p_2=4$,且 $p_4=1$ 能整除 $p_3=2$。
在第二个测试用例中,$p=[1,2,3]$ 是一个合法的排列。实际上,长度为 $3$ 的所有 $6$ 个排列都是合法的。
由 ChatGPT 4.1 翻译