#CF2147B. 多重构造
多重构造
B. 多重构造
每次测试时间限制: 秒
每次测试内存限制: 兆字节
给定一个整数 。你需要构造一个长度为 的数组,满足:
- 每个整数 到 在数组中恰好出现两次。
- 对于每个整数 (),它的两次出现之间的距离是 的倍数。
换句话说,如果 和 是 出现的两个位置,则 必须能被 整除。
可以证明,解总是存在的。
输入
每个测试包含多个测试用例。第一行包含测试用例的数量 ()。
接下来的 行,每行包含一个整数 ()。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出一行包含 个整数,即满足给定条件的数组。
如果有多个有效答案,输出任意一个即可。
示例
输入:
3
2
3
1
输出:
1 2 1 2
1 3 1 2 3 2
1 1
注释
- 第一个测试用例:
数字 出现在位置 和 :距离为 ,能被 整除。
数字 出现在位置 和 :距离为 ,能被 整除。 - 第二个测试用例:
数字 出现在位置 和 :距离为 ,能被 整除。
数字 出现在位置 和 :距离为 ,能被 整除。
数字 出现在位置 和 :距离为 ,能被 整除。 - 第三个测试用例:
数字 出现在位置 和 ,距离为 ,是 的倍数。