2401答案

Papyrus在审判你  •  1年前


#include<bits/stdc++.h>
using namespace std;
struct xiang{
    int xishu;
    int zhishu;
};
bool xiangxu(xiang a,xiang b){
    return a.zhishu>b.zhishu;
}
int main(){
    int a,b,gh=0;
    cin>>a>>b;
    xiang x[a];
    xiang y[b];
    int zonghe[1000000]={0};
    for(int i=0;i<a;i++){
        cin>>x[i].xishu;
        cin>>x[i].zhishu;
    }
    for(int i=0;i<b;i++){
        cin>>y[i].xishu;
        cin>>y[i].zhishu;
    }
    sort(x,x+a,xiangxu);
    sort(y,y+b,xiangxu);
    for(int i=0;i<=max(x[0].zhishu,y[0].zhishu);i++){
        int cishu=0;
        for(int j=0;j<a;j++){
            if(x[j].zhishu==i){
                cishu+=x[j].xishu;
            }
        }
        for(int k=0;k<b;k++){
            if(y[k].zhishu==i){
                cishu+=y[k].xishu;
            }
        }
        zonghe[i]=cishu;
        if(cishu!=0){
            gh++;
        }
        if(gh>1){
            if(cishu!=0){
                if(cishu>0){
                    cout<<"+"<<cishu<<"x"<<"^"<<i;
                }
                else{
                    cout<<cishu<<"x"<<"^"<<i;
                }
            }
        }
        else{
            if(cishu!=0){
                if(cishu>0){
                    cout<<cishu<<"x"<<"^"<<i;
                }
                else{
                    cout<<cishu<<"x"<<"^"<<i;
                }
            }
        }
    }
    return 0;
}

评论:

请先登录,才能进行评论