PAT甲级 1002 A+B for Polynomials (25 分)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}

猜你喜欢

转载自blog.csdn.net/xiang_6/article/details/90200713