A1002 A+B for Polynomials 25分
题目描述:
思路:
①:使用数组存储指数和系数,例如e[3]=4就代表着指数为3的X的系数为4。
②:边输入边计算,把相同指数的X的系数加起来。
③:用cot来统计非零系数项的个数。由于相同指数的X的系数加起来完全有可能等于0(一正一负),我们要在他们加起来后判断系数是否等于0,不等于加cot++。
代码描述:
#include<cstdio>
double e[1005];
int book[1005],cot;
int main()
{
int k,a;
double b;
scanf("%d",&k);
while(k--){
scanf("%d%lf",&a,&b);
// if(book[a]==0){
// cot++;
// book[a]=1;
// }
e[a]+=b;
}
scanf("%d",&k);
while(k--){
scanf("%d%lf",&a,&b);
// if(book[a]==0){
// cot++;
// book[a]=1;
// }
e[a]+=b;
}
for(int i=1000;i>=0;i--){
if(e[i]!=0) cot++;
}
if(cot==0) printf("0");
else{
printf("%d ",cot);
for(int i=1000;i>=0;i--){
if(e[i]!=0) {
printf("%d %.1f",i,e[i]);
cot--;
if(cot!=0) printf(" ");
}
}
}
printf("\n");
return 0;
}