CF1788C Matching Numbers

题目描述

给定一个整数 $n$。请将整数 $1$ 到 $2n$ 配对(即每个整数恰好属于一个配对),使得每一对数的和两两不同且连续。 形式化地,设你配对得到的 $n$ 对为 $(a_i, b_i)$。$\{a_1, b_1, a_2, b_2, \ldots, a_n, b_n\}$ 应该是 $\{1, 2, \ldots, 2n\}$ 的一个排列。将所有配对的和组成的集合 $\{a_1+b_1, a_2+b_2, \ldots, a_n+b_n\}$ 排序后记为 $s_1 < s_2 < \ldots < s_n$。你需要保证对于 $1 \le i \le n-1$,都有 $s_{i+1} - s_i = 1$。

输入格式

每组测试数据包含多组测试用例。第一行为测试用例组数 $t$($1 \le t \le 500$)。接下来每组测试用例一行,包含一个整数 $n$($1 \leq n \leq 10^5$)。 保证所有测试用例中 $n$ 的总和不超过 $10^5$。

输出格式

对于每组测试用例,如果无法完成这样的配对,输出 "No"。 否则,输出 "Yes" 并接着输出 $n$ 行,每行两个整数,表示一对配对的数。 你可以以任意大小写输出答案(如 "yEs"、"yes"、"Yes"、"YES" 都被认为是正确的肯定回答)。 如果有多种方案,输出任意一种即可。

说明/提示

对于第三组测试用例,$1$ 到 $6$ 每个整数恰好出现一次。配对的和分别为 $4+2=6$,$1+6=7$,$3+5=8$,它们是连续且互不相同的。 由 ChatGPT 4.1 翻译