最前面那个是项数,后面一对的前面那个是x的幂数,后面是系数;
要考虑互为相反数的情况,所以不能在输入的时候就计数;
数组累加最好用变量来代替,用两个数组做累加很麻烦,可以直接在一个数组上进行
代码:
#include<cstdio>
#include <iostream>
#include<algorithm>
using namespace std;
int main(){
int n,N,M,k,cnt=0;
const int j=1111;
double a[j]={0},m;
scanf("%d",&N);
for(int i=0;i<N;i++){
scanf("%d",&n);
scanf("%lf",&m);
a[n]+=m;
}
scanf("%d",&N);
for(int i=0;i<N;i++){
scanf("%d",&n);
scanf("%lf",&m);
a[n]+=m;
}
for(int i=0;i<j;i++){
if(a[i]!=0){
cnt++;
}
}
printf("%d",cnt);
for(int i=j-1;i>=0;i--){
if(a[i]!=0){
printf(" ");
printf("%d %.1lf",i,a[i]);
}
}
return 0;
}