1002 A+B for Polynomials

传送门

解题思路

看似简单的一题也调试了很多次,不知道是手生了,还是说脑子乱了。这道题首先是数据类型的问题,指数是整数,系数可以是浮点数。然后就是计数的问题,由于两个多项式相加可能会消掉某些项,所以计数只能最后加完再进行,否则会出错😭。最后就是输出的问题,这里我脑子乱了。

先给代码

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

vector<double> ans(1010,0);

int main()
{
    int cnt = 0 ;
    for(int i = 1 ; i <= 2 ; i ++)
        {
            int n;cin>>n;
            for(int j = 1 ; j <= n ; j ++)
                {
                    int zhishu;
                    double xishu ;
                    cin>>zhishu>>xishu;
                    ans[zhishu] += xishu;
                    
                }
        }


    for(int i = 1000 ; i >= 0 ; i--) if(ans[i]) cnt++;
    cout<<cnt;

    for(int i = 1000 ; i >= 0 ; i -- )
        {
            if(ans[i])
            {
                printf(" %d %.1lf" , i , ans[i]);
            }
        }
    return 0;
}
posted @ 2026-03-29 15:07  shuiwangrenjia  阅读(5)  评论(0)    收藏  举报