zoukankan      html  css  js  c++  java
  • pat甲级 1002 A+B for Polynomials

    首先是生僻词汇:polynomials 多项式    exponents 指数     respectively 分别

    这道题的大致意思是每次测试一组测试用例,一组测试用例有两个一个是一行,每一行包含一个多项式的信息:

    K N1 aN1 N2 aN2…NK aNK

    K是多项式的非零项的数量,aNi和Ni(i = 1 2⋯,K)分别是指数和系数。1<=k<=10,0<=Nk<=1000。

    这道题最大的坑就是这道题只给出了Ni的取值范围,没有给出aNi的取值范围,所以需要过滤掉相加后aNi为0的这种情况。另外题目给出的就是标准多项式,在读取第一个数的时候根本不需要考虑多个Ni的值相同的情况,我多写了,不过也是对的。

    下面是ac代码:

    #include<iostream>
    #include<cstdio>
    #include<map>
    using namespace std;
    
    int main(){
        map<int,double> mapp;
        int a;
        cin>>a;
        double x,y;
        int flag=0;
        for(int i=0;i<a;i++){
            cin>>x>>y;
            if(!mapp[x]){
                flag++;
                mapp[x]=y;
            }
            else {
            mapp[x]+=y;
            if(mapp[x]==0){
                flag--;
            } 
            } 
        } 
        int b;
        cin>>b;
        for(int i=0;i<b;i++){
            cin>>x>>y;
            if(!mapp[x]){
                flag++;
                mapp[x]=y;
            }
            else {
            mapp[x]+=y;
            if(mapp[x]==0){
                flag--;
            } 
            } 
        }
        cout<<flag;
        for(int i=1000;i>=0;i--){
            if(mapp[i]!=0){
                printf(" %d %.1lf",i,mapp[i]);
            }
        }
    } 
  • 相关阅读:
    Python类知识点
    安装psycopg2时出错:Error: pg_config executable not found.
    top命令
    Ubuntu18.10创建软件图标
    初始化Redis密码
    Ubuntu修改root密码,ssh 允许root用户登录
    Flask_Migrate数据库迁移
    Ubuntu18.04 systemd开机自启
    dnspython
    记一次Celery的仇
  • 原文地址:https://www.cnblogs.com/fromzore/p/9953186.html
Copyright © 2011-2022 走看看