比赛场次 57
比赛名称 20100419
比赛状态 已结束比赛成绩
开始时间 2010-04-19 08:15:01
结束时间 2010-04-19 11:30:01
开放分组 全部用户
注释介绍
题目名称 多项式运算
输入输出 ploy.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 6 简单对比
用户 结果 时间 内存 得分
Gravatarybh 0.000 s 0.00 MiB 0

多项式运算

★☆   输入文件:ploy.in   输出文件:ploy.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

大家会不会觉得多项式运算是一个很复杂的问题呢?

现在给出多项式的手写形式(如x+1,3x^3-2x^2+2),要求进行各种运算。

运算一共有4种,分别为evaluate(代入),add(加),subtract(减),multiply(乘)。

输入格式】

每个输入数据都有多个运算,行末行首均没有多余空格。所有的字母都是小写,每行都用回车分开。表达式可能出现的字符有0~9,+,-,^,x 任何+,-运算符都不会连续出现两个。下面是几种基本运算的输入格式。

代入,求出当x等于指定值的时候对应的多项式的值:

加法,求出所有的多项式的和(输入-1表示运算结束):

减法,求出第一个多项式减去后面所有多项式的值(输入-1表示减法结束):

乘法,求出所有的多项式的积(输入-1表示乘法结束):

若干行多项式

-1

结束,表示程序的结束

last

【输出格式】

输出每种运算以后的结果。首先输出运算的序号,然后紧跟一个冒号,接着是一个空格,最后是运算结果。每种运算的结果占用一行。多项式按降序排列,并且要进行同类项合并。

【输入样例】

add
x+1
2x^2+1
3x+4
-1
evaluate
3
7x^3+2x^2-10
last

【输出格式】

1:2x^2+4x+6
2:197

数据规模】

多顶式项数<=500 指数<=10^9