您的位置:首页 > 其它

pat 1002 A+B for Polynomials

2013-02-18 12:10 337 查看
简单的多项式相加。用两个数组分别保存,找出最大的下标,逐项相加。

#include<iostream>
using namespace std;
const int num=1005;
double a[num],b[num];
int main()
{
int n,i,index,m;
double val;
int alen=-1,blen=-1,count=0;
scanf("%d",&n);
while(n--){
scanf("%d%lf",&index,&val);
a[index]=val;
if(alen==-1)
alen=index;
}
scanf("%d",&m);
while(m--){
scanf("%d%lf",&index,&val);
b[index]=val;
if(blen==-1)
blen=index;
}
if(alen<blen)
alen=blen;
for(i=alen;i>=0;i--){
a[i]+=b[i];
if(a[i]!=0.0)
count++;
}
printf("%d",count);
for(i=alen;i>=0;i--){
if(a[i]!=0.0)
printf(" %d %.1lf",i,a[i]);
}
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pat