CF1728B.Best Permutation
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let's define the value of the permutation p of n integers 1, 2, ..., n (a permutation is an array where each element from 1 to n occurs exactly once) as follows:
- initially, an integer variable x is equal to 0;
- if x<p1, then add p1 to x (set x=x+p1), otherwise assign 0 to x;
- if x<p2, then add p2 to x (set x=x+p2), otherwise assign 0 to x;
- ...
- if x<pn, then add pn to x (set x=x+pn), otherwise assign 0 to x;
- the value of the permutation is x at the end of this process.
For example, for p=[4,5,1,2,3,6], the value of x changes as follows: 0,4,9,0,2,5,11, so the value of the permutation is 11.
You are given an integer n. Find a permutation p of size n with the maximum possible value among all permutations of size n. If there are several such permutations, you can print any of them.
我们定义一个由 n 个整数 1,2,…,n 构成的排列 p(即每个从 1 到 n 的整数在该数组中恰好出现一次)的值如下:
- 最初,一个整型变量 x 的值为 0;
- 若 x<p1,则将 p1 加到 x 上(即令 x=x+p1),否则将 x 置为 0;
- 若 x<p2,则将 p2 加到 x 上(即令 x=x+p2),否则将 x 置为 0;
- …
- 若 x<pn,则将 pn 加到 x 上(即令 x=x+pn),否则将 x 置为 0;
- 该排列的值即为上述过程结束时的 x。
例如,对于 p=[4,5,1,2,3,6],x 的变化过程为:0, 4, 9, 0, 2, 5, 11,因此该排列的值为 11。
现给定一个整数 n。请找出一个长度为 n 的排列 p,使其值在所有长度为 n 的排列中达到最大。若存在多个满足条件的排列,输出任意一个即可。
输入格式
The first line contains one integer t (1≤t≤97) — the number of test cases.
The only line of each test case contains one integer n (4≤n≤100).
第一行包含一个整数 t(1≤t≤97)—— 测试用例的数量。
每个测试用例仅有一行,包含一个整数 n(4≤n≤100)。
输出格式
For each test case, print n integers — the permutation p of size n with the maximum possible value among all permutations of size n.
对于每个测试用例,输出 n 个整数——即在所有大小为 n 的排列中,具有最大可能值的排列 p。
输入输出样例
输入#1
3 4 5 6
输出#1
2 1 3 4 1 2 3 4 5 4 5 1 2 3 6
输入解题思路,AI测评打分。不知道怎么写?