C++ - 进阶 1002

This time, you are supposed to find A+B where A and B are two polynomials.

Input Specification:

Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial:

K N​1​​ a​N​1​​​​ N​2​​ a​N​2​​​​ ... N​K​​ a​N​K​​​​

where K is the number of nonzero terms in the polynomial, N​i​​ and a​N​i​​​​ (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1≤K≤10,0≤N​K​​<⋯<N​2​​<N​1​​≤1000.

Output Specification:

For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate to 1 decimal place

计算多项式A+B

输入格式:

要求包含一个测试数据,每个测试数据要包含两行,每行包括一个多项式:

K N1 an1 N2 an2....NK ank

K是多项式中非零项的个数,Ni和ani是分别指数和系数。k在【1,10】,NK逐个递减【0,1000】

输出格式:

每一个测试数据,你应该在一行中输出A和B的和,和输入的格式一样,要注意在每一行的最后不要包含空格,请精确到小数点后1位。

 

Sample Input:

2 1 2.4 0 3.2
2 2 1.5 1 0.5

## 多项式A:  2.4*X^1 +3.2*X^0

## 多项式B:  1.5*X^2 + 0.5 *X^1

A+B = 1.5*X^2 +2.9*X^1 + 3.2

转换为输出为: 3  2 1.5 1 2.9 0 3.2  

 

Sample Output:

3 2 1.5 1 2.9 0 3.2

计算:

#include<stdio>
#include<map>
using namespace::std;
map<int,double> s;
int main()
{    
    int i1,t1;    
    double t2;    
    for(int z=0;z<2;z++)    
    {        
        scanf("%d",&i1);        
        for(int i=0;i<i1;i++)        
        {            
            scanf("%d%lf",&t1,&t2);            
            if(s.count(t1)==0)                
                s[t1]=t2;            
            else                
                s[t1]+=t2;        
        }    
    }    
    i1=0;    
    for(map<int,double>::const_iterator 
        m_it=s.begin();
        m_it!=s.end();m_it++)    
    {        
        if(m_it->second!=0.0&&m_it->second!=-0.0)            
            i1++;    
    }    
    printf("%d",i1);    
    for(map<int,double>::reverse_iterator m_it=s.rbegin();m_it!=s.rend();m_it++)    
    {        
        if(m_it->second!=0.0&&m_it->second!=-0.0)            
            printf(" %d %.1lf",m_it->first,m_it->second);    
    }    
    printf("\n");    
    return 0;
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改6S Fortran77 代码,建立查找表

逐像元大气校正&#xff0c;常预先计算查找表&#xff08;LUT&#xff0c;LookUp Tabel&#xff09;&#xff0c;6S大气辐射传输模式也可以用来计算LUT。但6S源程序输出信息多&#xff0c;且浮点数输出精度低&#xff0c;不利于提取关键信息生成LUT&#xff0c;本文描述了怎样修…

c++ 实例

#include "stdafx.h" #include <iostream> using namespace std; int main() { int a; a 4; cout<<a<<endl; return 0; }

VMware虚拟机与宿主无法复制的解决办法

由于工作需要&#xff0c;上网机器使用虚拟机&#xff0c;因此需要经常来回的拷贝文件&#xff0c;而vmware从6.5一直走来到10.0.1&#xff0c;总是有一个问题很让人苦恼---共享粘贴板总是会无故失效。经常实验&#xff0c;发现可以经过以下方法临时解决一下&#xff0c;虽然不…

c++ pat 乙级 --1001 害死人不偿命的(3n+1)猜想

1001 害死人不偿命的(3n1)猜想 &#xff08;15 分&#xff09; 卡拉兹(Callatz)猜想&#xff1a; 对任何一个正整数 n&#xff0c;如果它是偶数&#xff0c;那么把它砍掉一半&#xff1b;如果它是奇数&#xff0c;那么把 (3n1) 砍掉一半。这样一直反复砍下去&#xff0c;最后…

【开源项目之路】jquery的build问题

在刚开始clone了jquery到本地build的时候&#xff0c;就遇到了问题。 “ENORESTARGET No tag found that was able to satisfy ...” 提示为bower install失败&#xff0c;反复查找原因&#xff0c;最后在这儿看到同样类似的问题&#xff0c;貌似是git协议的连接问题&#xff0…

适配ios7

if ([self respondsToSelector:selector(edgesForExtendedLayout)]){self.edgesForExtendedLayout UIRectEdgeNone;self.extendedLayoutIncludesOpaqueBars NO;self.modalPresentationCapturesStatusBarAppearance NO;} 转载于:https://www.cnblogs.com/jiackyan/p/3441378.…

c++ pat 乙级 -------1002 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

1002 写出这个数 &#xff08;20 分&#xff09; 读入一个正整数 n&#xff0c;计算其各位数字之和&#xff0c;用汉语拼音写出和的每一位数字。 输入格式&#xff1a; 每个测试输入包含 1 个测试用例&#xff0c;即给出自然数 n 的值。这里保证 n 小于 10​100​​。 输出…

USACO SEC.1.3 No.1 Mixing Milk

题意&#xff1a;需要收购总数为N的牛奶&#xff0c;现在有M个牛奶供应商&#xff08;总量足够&#xff09;&#xff0c;给出总数和单价&#xff0c;求最小的花销。 核心&#xff1a;基本的贪心解法&#xff0c;按单价排序逐个选取。 目的在于熟悉基本的贪心法的基本方法和思路…

c++ 获取数组的长度

//获得数组的长度 template<typename T> int count(T& x) { int s1 sizeof(x); int s2 sizeof(x[0]); int result s1 / s2; return result; }

[WPF疑难] 继承自定义窗口

[WPF疑难] 继承自定义窗口 原文 [WPF疑难] 继承自定义窗口 [WPF疑难] 继承自定义窗口 周银辉 项目中有不少的弹出窗口&#xff0c;按照美工的设计其外边框&#xff08;包括最大化&#xff0c;最小化&#xff0c;关闭等按钮&#xff09;自然不同于Window自身的&#xff0c;但每个…

c++ #includecstring

其中包含了众多的函数调用。

单独使用modelsim进行仿真

以例子来说明 我要用testbench lpf_direct_tb.v 来测试文件lpf_direct.v 命令行方式和图形界面两种方式都可以 1 映射库 .在编译源文件之前,创建一个库存放编译的结果. vlib lpf_direct_tb 把库映射到工作目录 vmap work lpf_direct_tb 2编译设计文件 vlog lpf_direct.v lpf_di…

c++ pat 乙级 ---1004 成绩排名

1004 成绩排名 &#xff08;20 分&#xff09; 读入 n&#xff08;>0&#xff09;名学生的姓名、学号、成绩&#xff0c;分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式&#xff1a; 每个测试输入包含 1 个测试用例&#xff0c;格式为 第 1 行&#xff1a;正整…

richTextBoxFontClass

使用 private void button1_Click(object sender, EventArgs e) {RichTextBoxCtrl.richTextBoxFontClass r new RichTextBoxCtrl.richTextBoxFontClass();r.richTextBox richTextBox1;r.ToggleBold(); } using System; using System.Collections.Generic; using System.Linq;…

我感觉我恰似一个呆逼

TicTacToe V2.0。 非要用1-9来输入的结果就是使用二维数组这件事的意义变得非常难找。 留个遗体&#xff0c;我要改回坐标输入了。 1 public class Game {2 String chessBoard;3 String[][] pieces new String[3][3];4 5 /** 初始化棋盘样式和棋子数组。*/6 …

辅助工具栏目

1、推荐一款录像软件: 《EVCapture》 2、图像处理软件&#xff1a;打马赛克&#xff0c;添加水印&#xff0c;《快剪辑》软件

Android启动initlogo.rle制作

步骤如下&#xff1a; rgb2565为out/host/linux-x86/bin/rgb2565 #!/bin/sh convert -depth 8 initlogo.bmp rgb:initlogo.raw ./rgb2565 -rle <initlogo.raw> initlogo.rle 拷贝initlogo.rle至/root目录 转载于:https://www.cnblogs.com/easynote/p/3454088.html

爬虫:提取网页数据的几种方法

爬虫&#xff1a;提取网页数据的几种方法 1、Beautiful Soup 2、Pyquery 3、正则表达式 4、scrapy 自己的数据提取方法 Selector(选择器) Selector 是基于lxml来构建的&#xff0c;支持XPath选择器&#xff0c;CSS选择器&#xff0c;以及正则表达式

[企业化NET]Window Server 2008 R2[3]-SVN 服务端 和 客户端 基本使用

1. 服务器基本安装即问题解决记录 √ 2. SVN环境搭建和客户端使用 2.1 服务端 和 客户端 安装 √ 2.2 项目建立与基本使用 √ 2.3 基本冲突解决,并版&#xff0c;tags 3. 数据库安装 4. 邮件服务器搭建 5. JIRA环境搭建和使用 6. CC.NET项目持续发布工具…

关于爬虫中遇到的问题

1、 ModuleNotFoundError: No module named win32api 在setting中选择安装