当前位置: 首页 > news >正文

2021 年 6 月青少年软编等考 C 语言六级真题解析

目录

  • T1. 波兰表达式
  • T2. 多项式相加
    • 思路分析
  • T3. 扑克牌排序
    • 思路分析
  • T4. 表达式求值
    • 思路分析

T1. 波兰表达式

题目链接:SOJ D1087

此题为 2023 年 12 月三级第三题原题,见 2023 年 12 月青少年软编等考 C 语言三级真题解析中的 T3。

T2. 多项式相加

题目链接:SOJ D1088

我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起。首先,我们会有两个多项式,每个多项式是独立的一行,每个多项式由系数、幂数这样的多个整数对来表示。

如多项式 2 x 20 − x 17 + 5 x 9 − 7 x 7 + 16 x 5 + 10 x 4 + 22 x 2 − 15 2x^{20}- x^{17}+ 5x^9- 7x^7+ 16x^5+ 10x4 + 22x^2- 15 2x20x17+5x97x7+16x5+10x4+22x215,对应的表达式为:2 20 -1 17 5 9 -7 7 16 5 10 4 22 2 -15 0

为了标记每行多项式的结束,在表达式后面加上了一个幂数为负数的整数对。同时输入表达式的幂数大小顺序是随机的。我们需要做的就是把所给的两个多项式加起来。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入包括多行。
    第一行整数 n n n,表示有多少组的多项式需要求和, 1 < n < 100 1 < n < 100 1<n<100
    下面为 2 n 2n 2n 行整数,每一行都是一个多项式的表达式。表示 n n n 组需要相加的多项式。每行长度小于 300 300 300
  • 输出
    输出包括 n n n 行,每行为 1 1 1 组多项式相加的结果。在每一行的输出结果中,多项式的每一项用 [x y] 形式的字符串表示, x x x 是该项的系数、 y y y 是该项的幂数。要求按照每一项的幂从高到低排列,即先输出幂数高的项、再输出幂数低的项。 系数为零的项不要输出。
  • 样例输入
    2
    -1 17 2 20 5 9 -7 7 10 4 22 2 -15 0 16 5 0 -1
    2 19 7 7 3 17 4 4 15 10 -10 5 13 2 -7 0 8 -8
    -1 17 2 23 22 2 6 8 -4 7 -18 0 1 5 21 4 0 -1
    12 7 -7 5 3 17 23 4 15 10 -10 5 13 5 2 19 9 -7
    
  • 样例输出
    [ 2 20 ] [ 2 19 ] [ 2 17 ] [ 15 10 ] [ 5 9 ] [ 6 5 ] [ 14 4 ] [ 35 2 ] [ -22 0 ]
    [ 2 23 ] [ 2 19 ] [ 2 17 ] [ 15 10 ] [ 6 8 ] [ 8 7 ] [ -3 5 ] [ 44 4 ] [ 22 2 ] [ -18 0 ]
    
  • 提示
    第一组样例数据的第二行末尾的 8 -8,因为幂次 − 8 -8 8 为负数,所以这一行数据结束,8 -8不要参与计算。

思路分析

此题考查模拟算法,属于基础题。

可以用结构体存储多项式中每一项的系数和指数,然后将两个多项式分别按照指数非递增的顺序进行排序。接下来采用双指针依次遍历两个多项式,对于每一个指数,需要做的就是合并同类项

  • 如果 p o l y _ a i poly\_a_i poly_ai 的系数与 p o l y _ b j poly\_b_j poly_bj指数相等,则将两个多项式中与当前指数相等的所有项(同类项)的系数都累加起来;
  • 如果 p o l y _ a i poly\_a_i poly_ai指数大于 p o l y _ b j poly\_b_j poly_bj,则将多项式 p o l y _ a poly\_a poly_a 中与当前指数相等的所有项的系数累加起来;
  • 如果 p o l y _ a i poly\_a_i poly_ai指数小于 p o l y _ b j poly\_b_j poly_bj,则将多项式 p o l y _ b poly\_b poly_b 中与当前指数相等的所有项的系数累加起来;

每个指数对应的系数累加完毕之后,检测当前系数是否为 0 0 0,如果不为 0 0 0,则输出当前项的系数和指数。

/*
 * Name: T2_1.cpp
 * Problem: 多项式相加
 * Author: Teacher Gao.
 * Date&Time: 2025/03/07 22:47
 */

#include <bits/stdc++.h>

using namespace std;

struct node {
   
    int x, y;
    node () {
   }
    node (int _x, int _y) : x(_x), y
http://www.dtcms.com/a/58259.html

相关文章:

  • mysql下载
  • 【算法day3】寻找两个正序数组的中位数
  • RK3588 安装ffmpeg6.1.2
  • 数据守护者:备份文件的重要性与自动化实践策略
  • CLIP模型使用方法
  • MapReduce技术概述**
  • java的jiraapi设置超时时间
  • Excel·VBA江西省预算一体化工资表一键处理
  • 【LeetCode 热题 100】11. 盛最多水的容器 | python 【中等】
  • Unity Shader编程】之基础纹理
  • Mac 上如何安装Mysql? 如何配置 Mysql?以及如何开启并使用MySQL
  • MySQL:CRUD(增删查改)
  • 鸿蒙Next-应用检测、安装以及企业内部商店的实现
  • 日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(19):(1)家族の呼び方(よびかた):家族人物(2)助词练习
  • FreeRTOS任务状态查询
  • 数据库原理5
  • JavaScript系列06-深入理解 JavaScript 事件系统:从原生事件到 React 合成事件
  • Greenplum6.19集群搭建
  • 【云岚到家】-实战问题(上)
  • ubuntu 20.04 C++ 源码编译 cuda版本 opencv4.5.0
  • STM32驱动OLED屏幕全解析:从原理到温度显示实战(上) | 零基础入门STM32第五十三步
  • 人工智能与深度学习的应用案例解析及代码实现
  • Ae 效果详解:VR 色差
  • 计算机视觉cv2入门之图像的读取,显示,与保存
  • 【江协科技STM32】ADC数模转换器-学习笔记
  • vue3 vite项目安装eslint
  • MATLAB程序代编液压系统电机非线性滑膜伺服模糊控制simulink仿真
  • 队列知识点最详细整理+总结(基于《王道数据结构考研复习指导》)
  • 数据库基础以及基本建库建表的简单操作
  • 2025.2.4 更新 AI绘画秋葉aaaki整合包 Stable Diffusion整合包v4.10 +ComfyUI 整合包下载地址