PAT 1002. A+B for Polynomials

来源:互联网 发布:儿童初学画画软件 编辑:程序博客网 时间:2024/06/03 21:52

思路:就是两个多项式做加法–指数相同的相加即可,输出的时候按照指数递减输出,并且系数为0的项不输出。


AC代码

#include <stdio.h>#include <vector>#include <algorithm>using namespace std;const int maxn = 1000+5;float a[maxn];vector<pair<int, float> > ans;int t;int main() {    int k, x;    float y;    t = -1;    for(int i = 0; i < maxn; i++) {        a[i] = 0.0;    }    for(int i = 0; i < 2; i++) {        scanf("%d", &k);        for(int j = 0; j < k; j++) {            scanf("%d%f", &x, &y);            a[x] += y;            t = max(t, x);        }    }    for(int i = t; i >= 0; i--) {        if(a[i] != 0.0) {            ans.push_back(make_pair(i, a[i]));        }    }    printf("%d", ans.size());    for(int i = 0; i < ans.size(); i++) {        printf(" %d %.1f", ans[i].first, ans[i].second);    }    printf("\n");    return 0;}

如有不当之处欢迎指出!

原创粉丝点击