PID557 / 多项式化简
题目描述

输入一个只含字母 a、b 的多项式,对其化简(展开、合并同类项)后输出。

每项的形式为“[系数][a[a的次数]][b[b的次数]]”。

数据规模

输入多项式的长度不超过 100 个字符。

前 30% 的数据,没有乘方运算。

前 50% 的数据,计算过程中不需要高精度。

所有的数据,结果多项式中字母 a 和 b 的次数不超过 100。

样例说明:

为了方便大家测试,给出多组样例,实际测评时每个测试点只有1行

更多样例输入:

(3a)^30

(a+b)^2

2a2b2+3a3b3+4a2b2+0

0

更多样例输出:

205891132094649a30

a2+2ab+b2

3a3b3+6a2b2

0

说明:

Q:3a^30是(3a)^30还是3a^30

A:运算中的乘号不可省略

3a是单独的一项

为了减少歧义,一定会把 ^ 运算符的底数用括号括起来

比如只会出现 (3a)^30 这样的

不会出现 3a^30 这样的

输入格式

一行,原多项式。

多项式包含运算:+、*、^、(、),分别表示加、乘、乘方和左右括号。按照正常的顺序进行计算。

所有指数一定是非负整数。

输出格式

一行,化简后的多项式。

要求多项式必须最简。

输出项的顺序:首先 a 的次数较大的排在前面,其次 b 的次数较大的排在前面。如果有常数项则排最后。

如果一个项包含字母,则系数或次数为 1 时必须省略,次数不能为 0。

对于常数项,如果有且仅有一个常数项 0 则输出 0,否则不输出常数项 0。

样例输入
样例输出
提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论