Polynomial division
题目描述
我们有一个次数为 N 的多项式 A(x)=ANxN+AN−1xN−1+⋯+A1x+A0,
以及另一个次数为 M 的多项式 B(x)=BMxM+BM−1xM−1+⋯+B1x+B0.
这里,A(x) 和 B(x) 的每个系数都是绝对值不超过 100 的整数,并且首项系数不为 0。
另外,令它们的乘积为 $C(x)=A(x)B(x)=C_{N+M}x^{N+M}+C_{N+M-1}x^{N+M-1}+\cdots +C_1x+C_0$。
给定 A0,A1,…,AN 和 C0,C1,…,CN+M,求出 B0,B1,…,BM.
在这里,给定的输入保证存在唯一满足条件的序列 B0,B1,…,BM。
输入格式
输入采用标准输入,格式如下:
N M
A0 A1 … AN−1 AN
C0 C1 … CN+M−1 CN+M
输出格式
在一行中输出 M+1 个整数 B0,B1,…,BM,中间用空格分隔。
1 2
2 1
12 14 8 2
6 4 2
1 1
100 1
10000 0 -1
100 -1
提示
1 \leq N < 100
1 \leq M < 100
∣Ai∣≤100
∣Ci∣≤106
AN=0
CN+M=0
存在唯一的序列 B0,B1,…,BM 满足题目中给出的条件。对于 A(x)=x+2 和 B(x)=2x2+4x+6,有 C(x)=A(x)B(x)=(x+2)(2x2+4x+6)=2x3+8x2+14x+12,因此 B(x)=2x2+4x+6 满足给定条件。故应按此顺序输出 B0=6、B1=4、B2=2,中间用空格分隔。
我们有 A(x)=x+100,C(x)=−x2+10000,其对应的 B(x)=−x+100 满足给定条件。
因此应按此顺序输出 100、−1,中间用空格分隔。
标签: AtCoder|abc245D
来源
AtCoder|abc245D