1011: 多项式加法

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

提示

使用链表完成

来源

2001289

#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;
}

原文地址:https://www.cnblogs.com/lchzls/p/5781471.html