CF1447A Add Candies

题目描述

有 $n$ 个装有糖果的袋子,最初第 $i$ 个袋子里有 $i$ 颗糖果。你希望最终所有袋子里的糖果数量都相等。 为此,你可以: - 选择一个 $m$,满足 $1 \le m \le 1000$。 - 执行 $m$ 次操作。在第 $j$ 次操作时,你选择一个袋子,并向除了被选中的袋子以外的所有袋子各加 $j$ 颗糖果。 你的目标是找到一组合法的操作序列,使得所有袋子最终都含有相同数量的糖果。 - 可以证明,在给定的约束条件下,总是存在这样的操作序列。 - 你不需要使 $m$ 最小。 - 如果有多组合法的操作序列,你可以输出任意一组。

输入格式

每组测试数据包含多个测试用例。 第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含一个整数 $n$($2 \le n \le 100$)。

输出格式

对于每个测试用例,输出两行答案。 第一行输出一个整数 $m$($1 \le m \le 1000$),表示你要执行的操作次数。 第二行输出 $m$ 个正整数 $a_1, a_2, \dots, a_m$($1 \le a_i \le n$),其中 $a_j$ 表示你在第 $j$ 次操作中选择的袋子的编号。

说明/提示

在第一个样例中,给除了第二个袋子以外的所有袋子各加 $1$ 颗糖果,最终每个袋子里都有 $[2, 2]$ 颗糖果。 在第二个样例中,首先用前三次操作给除了第三个袋子以外的所有袋子分别加 $1+2+3=6$ 颗糖果,得到 $[7, 8, 3]$。接着,给第二和第三个袋子各加 $4$ 颗糖果,得到 $[7, 12, 7]$,再给第一个和第三个袋子各加 $5$ 颗糖果,最终结果为 $[12, 12, 12]$。 由 ChatGPT 4.1 翻译