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;
}
#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-Java-1002-A+B for Polynomials (25)
- 浙大PAT 1002题 1002. A+B for Polynomials
- PAT 1002 A+B for Polynomials (25) Python
- PAT1002---A+B for Polynomials
- PAT(Advanced level) 1002 A+B for Polynomials(25)
- PAT-A 1002.A+B for Polynomials
- PAT 1002 A+B for Polynomials(简单计数)
- PAT 1002 A+B for Polynomials
- PAT-A 1002.A+B for Polynomials
- 【PAT】甲级1002 - A+B for Polynomials(多项式加法)
- PAT程序设计考题——甲级1002(A+B for Polynomials ) C++实现
- PAT-1002 A+B for Polynomials (25)
- PAT 1002 A+B for Polynomials
- Pat(Advanced Level)Practice--1002(A+B For Polynomials)
- PAT 1002(A+B for Polynomials)
- PAT 1002 A+B for Polynomials
- PAT (Advanced Level) Practise 1002 A+B for Polynomials
- pat 1002 A+B for Polynomials
- PAT 甲级1002_A+B for Polynomials (25)
- PAT甲级1002 A+B for Polynomials