码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 多项式加法

时间:2018-07-08 14:44:55      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:++   +=   begin   没有   cout   als   love   reverse   div   

技术分享图片

技术分享图片

题解:

        采用顺序表。考虑到题目中没有规定指数上界,为避免RE,拟不采用数组。参考了http://blog.csdn.net/inlovecy/article/details/15208473后,最终采用map。

源码:

#include <iostream>
#include <map>
using namespace std;

int main()
{
    int n;
    cin >> n;
    while (n--) {
        int exp = 0, t1, t2, c = 2;
        bool flg = false;
        map<int, int>ep;
        while (c--) 
            while (cin >> t1 >> t2) {
                if (t2 < 0) break;
                if (ep.find(t2) != ep.end())ep[t2] += t1;
                else ep.insert(make_pair(t2, t1));
            }
        for (map<int, int>::reverse_iterator it = ep.rbegin(); it != ep.rend(); it++) {
            if (it->second == 0)continue;
            cout << "[ " << it->second << " " << it->first << " ] ";
            flg = true;
        }
        if(flg) cout << endl;
    }
    return 0;
}

POJ 多项式加法

标签:++   +=   begin   没有   cout   als   love   reverse   div   

原文地址:https://www.cnblogs.com/Jeffrey-Y/p/9279898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!