PAT1002. A+B for Polynomials

原题链接

PAT1002. A+B for Polynomials

解题思路

注意合并之后系数为0的项,就无需再输出的。这个点注意了就好。

代码

#include <bits/stdc++.h>
#include <iomanip>
using namespace std;

double a[10010];
//0-1000
int main(){
//2 1 2.4 0 3.2
//2 2 1.5 1 0.5
    int k,exp;
    float cof;
    cin>>k;
    for(int i=0;i < k;i++){
        cin>>exp>>cof;
        a[exp] += cof;
    }
    cin>>k;
    for(int i=0;i < k;i++){
        cin>>exp>>cof;
        a[exp] += cof;
    }

    vector<int>ans;//记录有的 
    for(int i=1010;i>=0;i--){
        if(a[i]!=0){
            ans.push_back(i);
        }
    } 
    k = ans.size();
    cout<<k;
    for(int i=0;i<k;i++){
        cout<<setiosflags(ios::fixed)<<setprecision(1)<<' '<<ans[i]<<' '<<a[ans[i]];
    }
    return 0;
} 

Add a Comment

邮箱地址不会被公开。