PAT_甲级_1002 A+B for Polynomials 多项式合并(C++)

目录

1,题目描述

2,思路

3,代码【C++】


1,题目描述

2,思路

由于题目中明确指数的范围是0-1000,所以想到用大小为1001的数组来存储系数,下标表示指数;

签到题。。。

3,代码【C++】

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
using namespace std;


int main(){
//#ifdef ONLINE_JUDGE
//#else
//    freopen("1.txt", "r", stdin);
//#endif

    int num, exp;     //exp指数 coe系数
    float coe;
    float input[1001] = {0};  //0次幂到1000次幂 共1001个数
    int k = 0;

    cin>>num;     //第一行数据
    for(int i = 0 ; i < num ; i++){
        cin>>exp;
        cin>>coe;
        input[exp] += coe;
    }

    cin>>num;     //第二行数据
    for(int i = 0 ; i < num ; i++){
        cin>>exp;
        cin>>coe;
        input[exp] += coe;
    }

    //输出系数
    for(int i = 0 ; i < 1001 ; i++){
        if(input[i] != 0) k++;
    }
    printf("%d", k);

    for(int i = 1000 ; i >= 0 ; i--){
        if(input[i] != 0){
            printf(" %d %.1f", i, input[i]);    //注意空格
        }
    }



    return 0;
}
发布了45 篇原创文章 · 获赞 5 · 访问量 2201

猜你喜欢

转载自blog.csdn.net/qq_41528502/article/details/104172507
今日推荐