C++:Product of Polynomials

这一次,你需要求两个多项式 A 和 B 的乘积(A×B)。

输入规范:

每个输入文件包含一个测试用例。每个测试用例占两行,每行描述一个多项式,格式为: K N1​ a N1 N2 aN2​​ ...... NK​ aNK​​ 其中 K 为多项式中非零项的个数,Ni和 aNi(i=1,2,⋯ ,Ki=1,2,⋯,K)分别表示幂次和系数。满足 1≤K≤10,0≤NK<⋯<N2<N1≤1000。

输出规范:

对于每个测试用例,输出一行,为 AA 与 BB 的乘积,格式与输入相同。注意行尾不得有多余空格。结果保留 1 位小数。

样例输入:

复制代码
2 1 2.4 0 3.2
2 2 1.5 1 0.5

样例输出:

复制代码
3 3 3.6 2 6.0 1 1.6
cpp 复制代码
#include <iostream>
#include <bits/stdc++.h>
#include <cstring>
#include <iomanip> 
using namespace std;
vector<int> v1,v2,v3;
map<int,double> mp,mp2,mp3;
bool cmp(int a,int b){
    return a>b;
}
int main(){
    int a,b;
    cin>>a;
    for(int i=0;i<a;++i){
        double xs;int mc;cin>>mc>>xs;
        mp[mc]=xs;
        v1.push_back(mc);
    }
    cin>>b;
    for(int i=0;i<b;++i){
        int mc;double xs;
        cin>>mc>>xs;
        mp2[mc]=xs;
        v2.push_back(mc);
    }
    for(int i=0;i<a;++i){
        for(int j=0;j<b;++j){
            int M=v1[i]+v2[j];
            double X=mp[v1[i]]*mp2[v2[j]];
            mp3[M]+=X;
            if(find(v3.begin(),v3.end(),M)==v3.end()){
                v3.push_back(M);
            }
        }
    }
    sort(v3.begin(),v3.end(),cmp);
    int cnt=0;
    for(int i=0;i<v3.size();++i){
        if(mp3[v3[i]]==0)cnt++;
    }
    cout<<v3.size()-cnt;

    for(int i=0;i<v3.size();++i){
        if(mp3[v3[i]]!=0)
        cout<<" "<<v3[i]<<" "<<fixed<<setprecision(1)<<mp3[v3[i]];
    }
    return 0;

}
相关推荐
John_ToDebug几秒前
Chromium Settings 自启动开关:三种 pref 同步方案深度对比
c++·chrome·ai
Mr.Lu ‍2 分钟前
QT调试查看QT内部数据时显示无可用信息,未为 Qt5Cored.dll 加载任何符号
开发语言·qt
qq_452396234 分钟前
第九篇:《Dockerfile 指令精讲(二):WORKDIR、ENV、ARG、EXPOSE》
java·开发语言·docker
JAVA社区6 分钟前
Java高级全套教程(九)—— SpringCloud超详细实战详解
java·开发语言·后端·spring cloud·面试·职场和发展
还在点灯@7 分钟前
基于visual studio的MFC上位机实现界面切换
c++·visualstudio·mfc
wyjcxyyy8 分钟前
java反序列化-cc1链
java·c语言·开发语言
山上三树8 分钟前
Python 高频报错速查表(开发通用版)
开发语言·python
傻啦嘿哟12 分钟前
解决DNS污染:防止OpenClaw解析API域名到虚假地址
开发语言·php
MY_TEUCK13 分钟前
【MYTRUCK - AI 应用】MetaGPT 0.8.2 安装与排错完整实录(Python 3.10 + 虚拟环境)
开发语言·人工智能·python·ai
视图猿人16 分钟前
ROS2 JAZZY+Gazebo harmonic小车机器人建模、激光雷达使用、图像传感器使用、构建导航地图、SLAM自动导航仿真
c++·机器人