版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiang_6/article/details/90200713
数组模拟多项式加法
#include<bits/stdc++.h>
#define FI first
#define SE second
using namespace std;
const int maxn = 1000 + 7;
typedef long long ll;
typedef pair<int,int> P;
double ans[maxn] = {0};
int k;
int a;
double b;
int nn = 0;
int main() {
scanf("%d", &k);
for(int i = 1; i <= k; ++i) {
scanf("%d%lf", &a, &b);
ans[a] += b;
}
scanf("%d", &k);
for(int i = 1; i <= k; ++i) {
scanf("%d%lf", &a, &b);
ans[a] += b;
}
for(int i = 0; i <= 1000; ++i) {
if(ans[i]) {
nn++;
}
}
printf("%d", nn);
for(int i = 1000; i >= 0; --i) {
if(ans[i]) {
printf(" %d %.1f", i, ans[i]);
}
}
return 0;
}