1011: 多项式加法
时间限制: 10 Sec 内存限制: 128 MB提交: 229 解决: 170
[提交][状态][讨论版]
题目描述
一个多项式可以表示为一组数对,数对中第一个数始终为整数,且唯一,表示多项式的次数,另一数表示为对应的系数且不为0。输入两组数对,每组以0 0作为结束,实现对两个多项式的加法并按降幂输出结果数对
输入
每行输入一个数对,以空格为分隔符,以0 0结束
输出
每行输出一个数对,以空格为分隔符
样例输入
5 12
3 8
1 2
15 5
0 10
0 0
3 12
30 1
15 5
0 0
样例输出
30 1
15 10
5 12
3 20
1 2
0 10
提示
使用链表完成
来源
#include <iostream>
using namespace std;
int main(){
int a,b,i,c[1000]={0};
while(cin>>a>>b){
if(a==0&&b==0) break;
c[a]=b;
}
while(cin>>a>>b){
if(a==0&&b==0) break;
c[a]=c[a]+b;
}
for(i=1000;i>=0;i--){
if(c[i]>0){
cout<<i<<" "<<c[i]<<endl;
}
}
return 0;
}