SP8 CMPLS - Complete the Sequence!
题目描述
你大概见过那些周日杂志里的智力题:已知序列 $1, 2, 3, 4, 5$,下一个数字是什么?有时非常简单,有时则相当难。由于这些“序列问题”非常流行,ACM 想把它们加入新 WAP portal 的“闲暇时间”板块。
ACM 的程序员注意到,其中一些题目可以通过用多项式来描述序列而得到解决。例如,序列 $1, 2, 3, 4, 5$ 可以很容易地用一个平凡的多项式来理解,下一个数字就是 $6$。但即便是更复杂的序列,比如 $1, 2, 4, 7, 11$,也能用多项式描述。在这种情况下,可以使用 $\frac{1}{2}n ^ 2 - \frac{1}{2}n + 1$。注意,即使序列的各项是整数,多项式的系数也可以是任意实数。
多项式是以下形式的表达式:
$$P(n) = a _ D n ^ D + a _ {D - 1} n ^ {D - 1} + \cdots + a _ 1 n + a _ 0$$
如果 $a _ D \ne 0$,则数字 $D$ 被称为多项式的次数。注意,常数函数 $P(n) = C$ 可视为次数为 $0$ 的多项式,而零函数 $P(n) = 0$ 通常定义次数为 $-1$。
输入格式
输入第一行包含一个正整数 $T$(约为 $5000$),表示随后测试用例的数量。每个测试用例由两行组成。测试用例的第一行包含两个整数 $S$ 和 $C$,用单个空格分隔,满足 $1 \le S < 100$,$1 \le C < 100$,且 $S + C \le 100$。第一个数字 $S$ 表示给定序列的长度,第二个数字 $C$ 表示需要补全的数字个数。
测试用例的第二行包含 $S$ 个整数 $X _ 1, X _ 2, \cdots, X _ S$,用空格分隔。这些数字构成给定序列。该序列总能够被一个多项式 $P(n)$ 描述,使得对每个 $i$,都有 $X _ i = P(i)$。在所有这些多项式中,$P _ {\min}$ 表示次数最低的多项式,应当使用它来补全序列。
输出格式
对于每个测试用例,你的程序必须输出一行,包含 $C$ 个整数,整数之间用一个空格分隔。这些数字是根据最低次数多项式对序列的补全所得。换句话说,你要输出 $P _ {\min}(S + 1), P _ {\min} (S + 2), \cdots, P _ {\min} (S + C)$ 的值。
保证 $P _ {\min} (S + i)$ 的结果都是非负数,并且可以存放在标准的 `int` 类型中。
说明/提示
**警告: 大量的输入 / 输出数据,在某些语言中请小心。**