【PAT】A1002. A+B for Polynomials(输出格式问题、sort)

PAT-A1002 A+B for Polynomials 题目内容及题解 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 informa... 阅读详情

【PAT】advanced_1002. A+B for Polynomials(输出格式问题、sort)

@(PAT)

链接:https://www.patest.cn/contests/pat-a-practise/1002

思路:
将两个多项式存入v1和v2中,然后遍历,在v2中找到v1的对应项,找到对应项就将v2中的系数添加,如果找不到,就在v2中添加v1的这个项。
需要注意的问题:
1. 最后结果是按指数下降的顺序输入的,因此要排序,用自带的sort然后自己写比较函数能够很好地解决。
2. 注意输出格式,题目说道输入行的最后一个符号不能是空格。一开始没注意,后面四个点是格式错误的,这是v1和v2中的相同指数项的系数相加结果为0导致的。然后修改了之后,发现又有最后一个点输出错误,这是因为得到的最后结果为0,需要只输出一个0(后面没有空格)。

My AC code:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

bool cmp(vector<float> v1, vector<float> v2) {
    return v1[0]> v2[0];
}

int main() {
    vector< vector<float> > v1, v2;
    int k1, k2;
    scanf("%d", &k1);
    for (int i= 0; i< k1; i++) {
        float temp1, temp2;
        scanf("%f %f", &temp1, &temp2);
        vector<float> tempv;
        tempv.push_back(temp1);
        tempv.push_back(temp2);
        v1.push_back(tempv);
    }
    scanf("%d", &k2);
    for (int i= 0; i< k2; i++) {
        float temp1, temp2;
        scanf("%f %f", &temp1, &temp2);
        vector<float> tempv;
        tempv.push_back(temp1);
        tempv.push_back(temp2);
        v2.push_back(tempv);
    }
    for (int i= 0; i< k1; i++) {
        bool if_content= false;
        for (int j= 0; j< k2; j++) {
            if (v1[i][0]== v2[j][0]) {
                // found
                if_content= true;
                // add
                v2[j][1]+= v1[i][1];
            }
        }
        // not found, add to v2
        if (if_content== false) {
            vector<float> temp;
            temp.push_back(v1[i][0]);
            temp.push_back(v1[i][1]);
            v2.push_back(temp);
        }
    }
    sort(v2.begin(), v2.end(), cmp);

    vector< vector<float> > v3;
    for (int i= 0; i< v2.size(); i++) {
        if (v2[i][1]!= 0) {
            v3.push_back(v2[i]);
        }
    }

    if (v3.size()== 0) {
        printf("0");
    } else {
        printf("%d ", v3.size());
    }

    for (int i= 0; i< v3.size(); i++) {
        if (i== v3.size()- 1) {
            printf("%.0f %.1f", v3[i][0], v3[i][1]);
        } else {
            printf("%.0f %.1f ", v3[i][0], v3[i][1]);
        }
    }
}

另外,为了方便,我引入了方便输出用的vector v3,其实也可以直接在v2上面判断输出。但是题目没有额外空间的要求,所以这样写方便快捷,我就引入了一个新的vector v3了。

PCB之AD层次化原理图设计 PCB之AD层次化(模块化)原理图设计 软件版本:AD17.1.9(bBuild 592) 先上效果图: 可以看到,图中有RS485和W5500这两个部分是复用了原理图,当项目中需要多个功能相同的电路时,这种设计就可以大大节约PCB布局布线的时间,方法后面介绍; 1.首先确定好项目中个部分电路的功能模块 不同功能的电路分开不同原理图画,然后给出输入输出端口,这样方便复用,下面是实例项目的功能划分 2.单个模块电路的接口设计 这里以W5500以太网接口电路为例说明: 主要就分为通讯接口和电源接口: 阅读详情

相关推荐

从MIPS汇编到C语言:手把手教你用Mars模拟器理解指令集(附实战代码)

本文详细介绍了如何使用Mars模拟器从MIPS汇编过渡到C语言编程,通过实战代码解析ADD、LW、BEQ等指令集与C语言结构的对应关系。内容涵盖环境搭建、算术运算、内存访问、条件分支及函数调用等核心概念,帮助读者深入理解MIPS指令分类和计算机底层运行机制。

weixin_26821003的博客 357

入门模拟之入门模拟pat B1010 A1002 A1009

pat B1010 #include <iostream> using namespace std; int main() { int a,b,flag=0;//flag while(cin>>a>>b) { if(b!=0) { if(flag==1) { cout<<" "; } cout<<a*b<<" "<<b-1; flag=1; } } if(

weixin_45927721的博客 175

关于AD中如何绘制原理图及其封装

AD中如何绘制原理图及其封装 题记:这是一个比较基础的知识,之所以我打算写一篇这样的笔记,主要是因为在日常生活中,我极少绘制特殊模块或芯片原理图及其封装。久而久之就忘记咋画了,有时需要画封装的时候又想不起来,网上的资料虽然一堆堆的,但往往只是仅原理图的绘制,或者是仅封装的绘制。为此我写一篇这样的笔记,记录绘制原理图及其封装的一条龙服务,感觉这对我而言尤为重要。 本文分为三大板块,依次是原理图的绘制、封装的绘制、二者的联立 第一板块——原理图的绘制 原理图的建立 第二板块——封装的绘制 第三板块——二者的

weixin_51130221的博客 7万+

pat 1002 A+B for polynomials (第二个测试点一直无法通过,最后解决)

题目链接:点击 题目理解: 1.K N1 aN1N2 aN2... NK aNK, k代表的是多项式的项数, NK是多项式的指数,aNK是多项式的的系数 其中1<=K<=10, k∈N+,0 <= NK < ... < N2 < N1 <=1000 (注意这里的递减关系) 2.两个多项式相加,要按照以下的格式输入...

aiyuancheng8814的博客 741

Windows平台MuJoCo仿真环境配置与Qt集成实战

本文详细介绍了在Windows平台上配置MuJoCo物理仿真环境并与Qt框架集成的完整实战流程。内容涵盖从环境准备、库文件配置、项目创建到核心代码编写的每一步,重点解决了Windows下常见的编译链接错误和路径问题,帮助开发者在Windows系统中高效搭建机器人仿真与可视化控制开发环境。

weixin_29221753的博客 172

拆解歌尔2718硅麦:2.75mm超小封装背后的MEMS技术解析

本文深度解析歌尔2718硅麦的2.75mm超小封装技术,探讨MEMS麦克风在微型化过程中的声学性能与结构可靠性平衡。通过ASIC芯片堆叠、纳米级应力控制等创新技术,歌尔2718在TWS耳机和智能手机中实现卓越性能,同时克服微型化带来的声学挑战。

weixin_28292761的博客 610

PAT A 1002,最后一个格式错误

1002 A+B for Polynomials (25)(25 分)提问 This time, you are supposed to find A+B where A and B are two polynomials. Input Each input file contains one test case. Each case occupies 2 lines, and each l...

LIUJIALING_lala的博客 1160

Oracle19c时区升级实战:从32到42版本的数据泵TSTZ报错解决方案

本文详细介绍了Oracle19c时区版本从32升级到42的实战步骤,重点解决数据泵TSTZ报错问题。通过检查时区版本、下载补丁包、应用补丁及执行升级脚本等关键操作,确保数据库时区数据更新,避免夏令时转换错误和历史时区规则不匹配等问题。文章还提供了常见问题排查和升级后的注意事项,帮助DBA高效完成时区升级任务。

n7o8p的博客 284

1002. A+B for Polynomials (25) 解答和记录

题目不贴了,解题思路如下1.定义一个包含幂和系数的类,定义该类的3个vector,分别存储第一行和第二行数据,结果2.处理过程,分别取容器中的幂进行比较,思想有点类似于归并排序中的合并步骤,幂大的先输出,相同的相加输出。4.该算法复杂度为O(K1 +  K2)3.输出的时候逆序输出答案即可坑点:1.系数AN要特别注意,为0的不能输出该结果,非常重要,很容易忽略!!!!!同时还要注意doube型是否...

d501171835的博客 1013

NR RRC协议(2)---RRC连接建立流程

RRC连接建立目的是建立SRB1 RRC连接建立还用于将初始NAS消息从UE传送到网络 RRC连接的初始阶段期间,不激活AS安全性 RRC连接建立由UE侧发起

crg2046的博客 1957

系统安全性评估 (SSA) 详细解析

系统安全性评估(SSA)是一种自下而上的验证过程,目的是确保系统设计中的每个功能、子系统、硬件和软件的实现,符合早期通过 FHA 和 PSSA 设定的安全性需求。它通过对已实现的系统进行系统性综合评价,检验各项设计和安装是否符合预期的安全性目标,最终支持飞机的适航认证。飞行控制系统是飞机安全性设计的核心子系统之一,负责控制飞机的姿态和方向。为了确保飞行控制系统能够在各种飞行条件下保持安全运行,SSA 被用于验证该系统的设计是否满足 FHA 中设定的安全性目标。

qq_41854911的博客 1651

PAT习题:A+B for Polynomials (25)

小编准备考PAT甲级的证,因此开始刷题中。将刷过的题及自己所编的代码进行整理分享。 题目描述 This time, you are supposed to find A+B where A and B are two polynomials. 输入描述: Each input file contains one test case. Each case occupies 2 lines, and ...

qq_35864862的博客 436

SAP Gateway 故障排查全景图:从 Error Log 到 E2E 追踪,一套面向实战的工具与方法论

本文针对SAP Gateway Foundation(SAP_GWFND)的故障排查需求,梳理了从现象到根因的系统化排查路径。文章首先强调建立标准化排障流程的重要性,随后提供工具矩阵及使用顺序指引:对于请求中断优先查看Error Log(/IWFND/ERROR_LOG和/IWBEP/ERROR_LOG),性能问题使用Performance Trace(/IWFND/TRACES),通知异常则检查Notification Monitor。重点工具包括: Error Log作为中断类错误首要定位器; Appl

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

PAT1002 A+B for Polynomials

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List;...

JustTryIT 197

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

浙江大学PAT上机题解析之1002. A+B for Polynomials (25)

1002. A+B for Polynomials (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue This time, you are supposed to find A+B wh...

weixin_30540691的博客 202

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

PAT A1002 A+B for Polynomials (25 分)

This time, you are supposed to findA+BwhereAandBare two polynomials. Input Specification: Each input file contains one test case. Each case occupies 2 lines, and each line contains the informa...

树叶子的博客 490

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

A1002 A+B for Polynomials(多项式相加)

原题:代码:#include &lt;cstdio&gt; const int max_n = 1111; double p[max_n]={}; int main(){ int k,n,count = 0; double a; scanf("%d",&amp;k); for(int i=0;i&lt;k;i++) { scanf("%d %lf",&amp;n,&amp;a); ...

mlhypyl的博客 332

PAT A1002

多项式相加 方法:float/double 型数组,下标存储指数,对应元素存储系数 边界情况:1,两项相加可能为零的情况;2,指数的范围为0至1000,防止数组越界;3,两项相加不为零的情况 #include   float poly[1010]={0};      int main(){   int len1,len2,lenr;   scanf("%d",&len1)

weixin_37565706的博客 376

【PAT甲级】1002 A+B for Polynomials (25 分)

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 informa...

能饮一杯否 7261

1002 A+B for Polynomials (25 point(s))

1002A+B for Polynomials(25point(s)) 题意: 给出两个多项式a, b,输出a+b的新多项式 思路: 1.只需用一个double数组,边存输入边计算得到新多项式 2.输出时,用一个计数器来累加非零项,一个容器来存待输出多项式的指数(可以通过一开始的double数组获得其系数) 注意点: 1.计算项数时要注意正负项指数相同,系数恰为相反数的情况,这...

weixin_34417183的博客 330

PAT Advanced Level 1002. A+B for Polynomials (25)(Java)

1002. A+B for Polynomials (25) Java代码: import java.util.Iterator; import java.util.Scanner; import java.util.Stack; import java.util.TreeMap; public class Main { public static void main(Stri

睡得香吃得好胆子大的专栏 1784

PAT 1002 A+B for Polynomials 满分 测试点问题记录

PAT 1002 代码 #include<iostream> #include <string> #include<map> #include <iomanip> //控制小数位数 using namespace std; int main(){ map<int,double,greater<int>> polysum; int len=0; int key; double value; cin&gt

qq_45092173的博客 728

PAT-A1002题解

PAT-A1002. A+B for Polynomials (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue This time, you are supposed to find A+B where A and B are two polynomials. Input ...

geek_jerome的博客 934

PAT甲级 1002. A+B for Polynomials (25) 题目翻译与答案

1002.多项式A与B的和 这次,假设A和B是两个多项式,求A与B的和多项式。

Coding home - 漂流瓶jz 7172

快速提升代码能力(7)sort(a,a+n);

从零起步看算法(第七天 4.12) //q9 交叉排序 算是一道水题了。 1.花点时间看一下样例,就可以理解题意了。 2.本题唯一知识点,用sort()实现,数组的从大到小排序。 很简单的操作 https://blog.csdn.net/jimmy_lee1106/article/details/11746131 3.还要注意sort(a,a+n);两个参数与下标不同。 #inc...

没有梦想的咸鱼 3867

1002 A+B for Polynomials (25分) 详解+易错点

注意点:系数为0,则不输出,例: 其中-1和1相加为0,则在输出时避免这一项,而且要注意结果的K值,不要包括这一项, 思路,利用结构体存储系数和指数,然后利用两个数组分别存储两个输入,循环查找指数相同项,把它们的系数相加,然后判断是否为0,如果不为0则放入结果数组中,然后将它们的系数设为一个特殊的值(就是随便想的一个值),最后,再进行一次循环判断该项的系数是否为特殊值,不为特殊值则放入结果...

Linuxsen的博客 945
上一篇: 【MachineLearing】判别模型与生成模型以及相关概率统计知识
下一篇: 【PAT】A1003. Emergency(最短路径算法)
timsooo
博客等级 码龄11年 16粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值