#3001. Construct an Array

Construct an Array

题目描述

给定一个整数 nn。你需要构造一个长度为 nn 的整数数组 a1,a2,…,ana_1, a_2, \ldots, a_n,使得以下条件都被满足:

  • 对于所有 ii(1≤i≤n1 \leq i \leq n),都有 1≤ai≤2n1 \leq a_i \leq 2n。
  • 数组的所有元素以及所有相邻元素之和两两互不相同。换句话说,在集合 $\{a_1, a_2, \ldots, a_n, a_1 + a_2, a_2 + a_3, \ldots, a_{n-1} + a_n\}$ 中,不存在两个相同的数字。

输入格式

每组测试数据包含多组用例。第一行为用例个数 tt(1≤t≤1001 \leq t \leq 100)。接下来每组用例包含一个整数 nn(1≤n≤5001 \leq n \leq 500)。

输出格式

对于每组测试用例,输出一个满足要求的、长度为 nn 的数组。可以证明,在给定的条件下这样的数组总是存在的。

输入输出样例 #1

输入 #1

3
1
3
6

输出 #1

1 
6 2 3
8 1 11 2 3 4

说明/提示

在第二个样例中,所有元素和相邻元素的和组成的集合为 6,2,3,8,5\textbf{6}, \textbf{2}, \textbf{3}, 8, 5,所有元素互不相同。

在第三个样例中,所有元素和相邻元素的和组成的集合为 $\textbf{8}, \textbf{1}, \textbf{11}, \textbf{2}, \textbf{3}, \textbf{4}, 9, 12, 13, 5, 7$,所有元素也都互不相同。

由 ChatGPT 5 翻译