1009. Product of Polynomials (25)

来源:互联网 发布:java代码实现单例模式 编辑:程序博客网 时间:2024/04/30 02:40
#include<iostream>#include<map>#include<iomanip>using namespace std;bool compare(int i,int j){    return i>j;}int main(){    map<int,double,bool (*)(int i,int j)> map1(compare);    map<int,double,bool (*)(int i,int j)> map2(compare);    map<int,double,bool (*)(int i,int j)> map3(compare);    int N;    int m;    double n;    cin>>N;    for(int t=0;t<N;t++)    {        cin>>m>>n;        map1[m]=n;    }    cin>>N;    for(int t=0;t<N;t++)    {        cin>>m>>n;        map2[m]=n;    }    for(map<int,double,bool (*)(int i,int j)>::iterator it1=map1.begin();it1!=map1.end();it1++)        for(map<int,double,bool (*)(int i,int j)>::iterator it2=map2.begin();it2!=map2.end();it2++)        {                map3[(it1)->first+(it2)->first]+=(it1)->second*(it2)->second;        }    for(map<int,double,bool (*)(int i,int j)>::iterator iter=map3.begin();iter!=map3.end();iter++)    {        if(iter->second==0) map3.erase(iter);    }    cout<<map3.size();    for(map<int,double,bool (*)(int i,int j)>::iterator iter=map3.begin();iter!=map3.end();iter++)    {        cout<<fixed<<setprecision(1)<<" "<<iter->first<<" "<<iter->second;    }    cout<<endl;}
0 0
原创粉丝点击