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 翻译