#P2281. [HNOI2003] 多项式的加法和乘法

    ID: 1233 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>2003线性结构各省省选湖南排序Splay

[HNOI2003] 多项式的加法和乘法

题目描述

今天的数学课上,老师讲了多项式的加法和乘法。然后布置了很多计算题,小明不想花太多时间来做数学作业,于是想编写一个程序来完成这个任务。

比如计算下面两个多项式的和与积:

xy2z+31wx3y3z50+s3xy^2z+31wx^3y^3z^{50}+s^3
v2+s3+3wx3y3v^2+s^3+3wx^3y^3

假定所有变量都是单个大写字符,所有的系数和指数都是常数,且都是整数。

我们用 X^3 表示 XX 的三次方,在系数和不同的项之间用空格分隔,例如 X Y^2 中,XXYY 之间有空格。下面是两个多项式的例子,除此之外没有别的空格。

X Y^2 Z + 31 W X^3 Y^3 Z^50 + S^3
V^2 + S^3 + 3 W X^3 Y^3

现在,按照上面的格式给定两个多项式,请你求出这两个多项式的和与积。

输入格式

输入包括两行,每一行是一个多项式。每个多项式不超过 250250 个字符。计算过程中保证任何中间结果系数和指数均不超过长整数范围。

输出格式

输出也是两行,第一行是两个多项式的和,第二行是两个多项式的积。输出中要求合并同类项。输出多项式的格式和输入的格式类似,但输出时请把所有空格都去掉,并保证每一项都是 ASCII 码排在前面的变量放在前面,即输出 X^3Y^2 而不是 Y^2X^3。另外,输出的项请按变量 A 的指数从小到大排列,变量 A 指数相同的,按变量 B 的指数从小到大排列,依此类推。并注意输出要符合我们平常书写的习惯。

A + B
3 A + 4 A B^3 + C

C+B+4A+4AB^3
BC+AC+3AB+4AB^4+3A^2+4A^2B^3