CFCF2147B.Multiple Construction
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数 n。你的任务是构造一个长度为 2⋅n 的数组,要求满足以下条件:
- 1 到 n 每个整数在数组中恰好出现两次。
- 对于每个整数 x(1≤x≤n),x 两次出现的位置之间的距离是 x 的倍数。也就是说,若 px 和 qx 分别是 x 两次出现的位置下标,则 ∣qx−px∣ 必须能被 x 整除。
可以证明,总是存在一种满足条件的方案。
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 t(1≤t≤104),表示测试数据组数。
接下来的 t 行,每行包含一个整数 n(1≤n≤2⋅105)。
保证所有测试数据中 n 的和不超过 2⋅105。
输出格式
对于每组测试数据,输出一行 2⋅n 个整数,表示满足条件的数组。
如存在多种合法方案,输出任意一种均可。
输入输出样例
输入#1
3 2 3 1
输出#1
1 2 1 2 1 3 1 2 3 2 1 1
说明/提示
在第一个测试样例中:
- 数字 1 出现在第 1 和第 3 个位置:两次出现的距离为 2,是 1 的倍数。
- 数字 2 出现在第 2 和第 4 个位置:两次出现的距离为 2,是 2 的倍数。
在第二个测试样例中:
- 数字 1 出现在第 1 和第 3 个位置:距离为 2,是 1 的倍数。
- 数字 2 出现在第 4 和第 6 个位置:距离为 2,是 2 的倍数。
- 数字 3 出现在第 2 和第 5 个位置:距离为 3,是 3 的倍数。
在第三个测试样例中,数字 1 两次出现位置是在第 1 和第 2,距离为 1,是 1 的倍数。