1009 Product of Polynomials (25分)

A = [eval(i) for i in input().split()]
B = [eval(i) for i in input().split()]

d1, d2, d3 = {}, {}, {}  # d1,d2,d3分別是第一個多項式,第二多項式,結果多項式
for i in range(A[0]):
    a = i*2+1
    d1[A[a]] = d1.get(A[a], 0) + A[a + 1]

for i in range(B[0]):
    a = i * 2 + 1
    d2[B[a]] = d2.get(B[a], 0) + B[a + 1]

for i in d1.keys():  # 進行多項式相乘,指數相加,係數相乘
    for j in d2.keys():
        d3[i + j] = d3.get(i + j, 0) + d1[i] * d2[j]

for i in list(d3.keys()):  # 篩掉爲係數0的項
    if d3[i] == 0:
        del d3[i]

d3 = sorted(d3.items(), key=lambda x: x[0], reverse=True)
print(len(d3), end="")
for x, y in d3:
    print(" {} {:.1f}".format(x, y), end="")




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章