中国电子学会2023年05月份青少年软件编程C++等级考试试卷四级真题(含答案)

2023-11-03

在这里插入图片描述

1.怪盗基德的滑翔翼

怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。
有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。
假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始时,怪盗基德可以在任何一幢建筑的顶端。他可以选择一个方向逃跑,但是不能中途改变方向(因为中森警部会在后面追击)。因为滑翔翼动力装置受损,他只能往下滑行(即:只能从较高的建筑滑翔到较低的建筑)。他希望尽可能多地经过不同建筑的顶部,这样可以减缓下降时的冲击力,减少受伤的可能性。请问,他最多可以经过多少幢不同建筑的顶部(包含初始时的建筑)?

【输入】

输入数据第一行是一个整数K(K < 100),代表有K组测试数据。 每组测试数据包含两行:第一行是一个整数N(N < 100),代表有N幢建筑。第二行包含N个不同的整数,每一个对应一幢建筑的高度h(0 < h < 10000),按照建筑的排列顺序给出。

【输出】

对于每一组测试数据,输出一行,包含一个整数,代表怪盗基德最多可以经过的建筑数量。

【样例输入】

3
8
300 207 155 299 298 170 158 65
8
65 158 170 298 299 155 207 300
10
2 1 3 4 5 6 7 8 9 10

【样例输出】

6
6
9

参考答案



2.数字组合

有n个正整数,找出其中和为t(t也是正整数)的可能的组合方式。如: n=5,5个数分别为1,2,3,4,5,t=5; 那么可能的组合有5=1+4和5=2+3和5=5三种组合方式。

【输入】

输入的第一行是两个正整数n和t,用空格隔开,其中1<=n<=20,表示正整数的个数,t为要求的和(1<=t<=1000) 接下来的一行是n个正整数,用空格隔开。

【输出】

和为t的不同的组合方式的数目。

【样例输入】

5 5
1 2 3 4 5

【样例输出】

3

参考答案

#include <bits/stdc++.h>
using namespace std;

int a[25],n,t,ans;

void dfs(int i,int sum){
	if(i==n){
		if(t==sum){
			ans++;
		}
		return;
	}
	i++;
	dfs(i,sum+a[i]);
	dfs(i,sum);
}

int main(){
	cin>>n>>t;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dfs(0,0);
	cout<<ans;
	return 0;
} 

3.带通配符的字符串匹配

通配符是一类键盘字符,当我们不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。通配符有问号(?)和星号()等,其中,“?”可以代替一个字符,而“”可以代替零个或多个字符。
你的任务是,给出一个带有通配符的字符串和一个不带通配符的字符串,判断他们是否能够匹配。
例如,1?456 可以匹配 12456、13456、1a456,但是却不能够匹配23456、1aa456;2*77?8可以匹配 24457798、237708、27798。

【输入】

输入有两行,每行为一个不超过20个字符的字符串,第一行带通配符,第二行不带通配符

【输出】

如果两者可以匹配,就输出“matched”,否则输出“not matched”

【样例输入】

1*456?
11111114567

【样例输出】

matched

参考答案



4.股票买卖

最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。
假设阿福已经准确预测出了某只股票在未来 N 天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。
同一天可以进行多次买卖。但是在第一次买入之后,必须要先卖出,然后才可以第二次买入。
现在,阿福想知道他最多可以获得多少利润。

【输入】

输入的第一行是一个整数 T (T <= 50) ,表示一共有 T 组数据。 接下来的每组数据,第一行是一个整数 N (1 <= N <= 100, 000) ,表示一共有 N 天。第二行是 N 个被空格分开的整数,表示每天该股票的价格。该股票每天的价格的绝对值均不会超过 1,000,000 。

【输出】

对于每组数据,输出一行。该行包含一个整数,表示阿福能够获得的最大的利润。

【样例输入】

3
7
5 14 -2 4 9 3 17
6
6 8 7 4 1 -2
4
18 9 5 2

【样例输出】

28
2
0

提示:对于第一组样例,阿福可以第 1 次在第 1 天买入(价格为 5 ),然后在第 2 天卖出(价格为 14 )。第 2 次在第 3 天买入(价格为 -2 ),然后在第 7 天卖出(价格为 17 )。一共获得的利润是 (14 - 5) + (17 - (-2)) = 28 对于第二组样例,阿福可以第 1 次在第 1 天买入(价格为 6 ),然后在第 2 天卖出(价格为 8 )。第 2 次仍然在第 2 天买入,然后在第 2 天卖出。一共获得的利润是 8 - 6 = 2 对于第三组样例,由于价格一直在下跌阿福可以随便选择一天买入之后迅速卖出。获得的最大利润为 0

参考答案


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

中国电子学会2023年05月份青少年软件编程C++等级考试试卷四级真题(含答案) 的相关文章

  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • Dapper 强类型查询返回默认对象值

    刚刚开始使用 Dapper 并喜欢它 我遇到了问题 它返回正确数量的对象 但它们的属性都有默认值 using var dbConnection Connection await dbConnection OpenAsync const st
  • 如何使用 C# 打印 pdf

    我在 C 应用程序中使用 进程 打印 pdf 文件 但是我无法获取打印状态 我发现可以通过 System management 和 System printing 与打印机 队列进行交互 我做了很多尝试 但都出错了使用这两个命名空间但无法打
  • 实体框架中的重复键异常?

    我试图捕获当我将具有给定用户名的现有用户插入数据库时 引发的异常 正如标题所说 我正在使用 EF 当我尝试将用户插入数据库时 引发的唯一异常是 UpdateException 如何提取此异常以识别其是否是重复异常或其他异常 catch Up
  • ProtoBuf-net AsReference 需要 Activator.CreateInstance 中的公共构造函数吗?

    在我的两门课程中 看起来像这样 最少 using System using System Collections Generic using System Collections using System ComponentModel us
  • 从 .Net 将简单数据插入 Excel 文件的最简单方法

    我有一个 Excel 文件 大约有 10 列和 1 20 行 我需要插入 1 20 行包含各种数据元素 我想知道是否有一种方法可以将一些标签放入 Excel 文件中 以便可以找到并替换它们 将列标记为 名称 的东西 这样我就可以在代码中说
  • WPF - 按多列排序时使用自定义比较器

    我有一个 ListView GridView 我想按 2 列排序 因此如果第 1 列中有 2 个以上的项目具有相同的值 它将按第 2 列排序 非常简单 但是在对 A Z 进行排序时 空字符串会出现在顶部 我想把它们移到底部 我制作了一个比较
  • 为什么 LinkedList 通常比 List 慢?

    我开始在我的一些 C 算法中使用一些 LinkedList 而不是列表 希望能够加快速度 然而 我注意到他们只是感觉更慢 像任何优秀的开发人员一样 我认为我应该尽职调查并验证我的感受 所以我决定对一些简单的循环进行基准测试 我认为用一些随机
  • 浏览器收集哪些值作为回发数据?

    当页面被发送回服务器时 浏览器收集每个控件的当前值并将其粘贴到一个字符串中 然后 该回发数据通过 HTTP POST 发送回服务器 Q1 除了控件的 Text 属性和 SelectedIndexchanged 因此除了用户输入数据 之外 控
  • C++ 析构函数:何时释放内存?

    如果我删除一个导致其析构函数被调用的对象 那么内存是在析构函数完成函数中的任何操作之前还是之后被释放 仅当最小派生类子对象被销毁后才会释放内存 所以如果你有 class Base class Derived public Base publ
  • 在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

    我目前正在开发一个应用程序 其中音频样本帧在以下回调中进行处理 void Eav07AudioProcessor processBlock AudioSampleBuffer buffer for int channel 0 channel
  • 在非指针变量和类成员上放置 new

    考虑以下示例 include
  • 使用 cudamalloc()。为什么是双指针?

    我目前正在浏览有关的教程示例http code google com p stanford cs193g sp2010 http code google com p stanford cs193g sp2010 学习CUDA 演示的代码 g
  • 函数模板重载解析期间的 MSVC 与 Clang/GCC 错误,其中一个函数模板包含参数包

    当我使用参数包时 我注意到这样一种情况 如下所示 在 gcc 和 clang 中编译得很好 但在 msvc 中却不行 template
  • 语义问题 Qt Creator:命名空间“std”中没有名为“cout”的成员

    我开始使用 Qt Creator 编写代码 对于 C 文件 我遇到很多语义问题 99 是 命名空间 yyy 中没有名为 xxx 的成员cpp文件构建 编译和输出没有问题 如果我点击例如cout 我已链接到 iostream 我是否需要在 Q
  • fscanf 和 EOF 中的否定扫描集

    我的文件中有一个以逗号分隔的字符串列表 姓名 1 姓名 2 姓名 3 我想跳过所有逗号来阅读这些名字 我写了以下循环 while true if fscanf file my string 1 break 然而 它总是比预期多执行一次 给定
  • 检索 Autofac 容器以解析服务

    在 C WindowForms 应用程序中 我启动一个 OWIN WebApp 它创建另一个类 Erp 的单例实例 public partial class Engine Form const string url http 8080 49
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和
  • 获取大于某个数字的元素个数

    我正在尝试解决以下问题 数字被插入到容器中 每次插入数字时 我需要知道容器中有多少元素大于或等于当前插入的数字 我相信这两个操作都可以以对数复杂度完成 我的问题 C 库中有标准容器可以解决这个问题吗 我知道std multiset可以在对数
  • Crypto++ 和压缩 EC 密钥

    如何在 Crypto 中生成压缩的 ECDSA 密钥 AutoSeededRandomPool prng ECDSA

随机推荐

  • 支持向量机SVM

    文章目录 SVM简单理解 SVM代码实现 导入数据集 SVM实现 画出支持向量 总结 SVM简单理解 在下二维平面存在以下数据点 不同颜色代表不同类别 现在需要画一条直线 想将两个类别分别开来 当有新数据加入时 根据这条直线 也能将新数据正
  • Vue:ElementUI怎么引入外部svg图标

    推荐阿里巴巴图标库 命令行运行npm install svg sprite loader 创建icons svg文件夹 将svg文件放在该文件夹下面 在components文件夹中创建svgiconfont vue文件 文件内容
  • 【啃书】《智能优化算法及其MATLAB实例》例7.2模拟退火算法进行函数寻优

    文章目录 问题描述 仿真过程 matlab源码 问题描述 仿真过程 matlab源码 该脚本要命名为func2 m 适应度函数 function value func2 x y value 5 cos x y x y y y y value
  • postgresql优化案例三:recheck cond

    文章目录 1 SQL语句 2 查看改善前执行计划 3 解决方案 3 1增加work mem的size 3 2 创建合适的索引 4 改善后执行计划 1 SQL语句 delete from sap dispatchingd hist a whe
  • 使用 VBA 自动化 Chrome / Edge

    介绍 Internet Explorer classic 下称IE 是基于ActiveX技术的 对于 Webscraping 或从 VBA 等 OLE 感知编程语言进行测试等任务 自动化 IE 非常容易 但微软将在不久的将来终止对 IE 的
  • C# 定义宏

    define ENABLE TEST 必须在 using 的上方定义 using System Collections using UnityEngine public class TestDefine MonoBehaviour void
  • 通配符*和?的区别

    通配符 和 的区别是 可以用来代替零个 单个或多个字符 而 仅可以使用代替一个字符 表示匹配的数量不受限制 而 的匹配字符数则受到限制
  • 17:UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence

    菜鸟学python习题17运行错误 我的 直接在open里加了一个 errors ignore 即可 第一个人 使用python的时候经常会遇到文本的编码与解码问题 其中很常见的一种解码错误如题目所示 下面介绍该错误的解决方法 将 gbk
  • Rocketmq机制回顾总结

    1 应用场景如解耦 削峰填谷 异步处理 分布式事务中间协调 2 nameserver producer broker consumer 3 brokerName brokerId brokerRole Namesrvaddr常用配置参数 4
  • mysql查询语句group by 语句报错

    高版本的mysql 在查询语句时 有group by 会报错 报错信息如下 gt 1055 Expression 40 of SELECT list is not in GROUP BY clause and contains nonagg
  • [nifi] 数据管理分发工具

    官方文档 Apache NiFi 运行 HOME bin run nifi bat 打开网页 127 0 0 1 nifi 账号密码 HOME logs nifi app log 找到如下字段 开始界面 简单实例 1 本地 gt 本地 2
  • sqlplus,imp 等命令无效解决

    今天我在数据库上准备导入数据 但在输入sqlplus nolog 时报出 sqlplus 不是有效的内部命令 解决方案 在oracle ora92 bin 下找到了 sqlplus imp exp 等命令 点开可以执行 也可以在dos下进入
  • C# 算法系列 - 贪婪算法(背包问题)

    using System namespace ConsoleApp1 class Program static void Main string args 贪婪算法 背包问题 背包问题 Knapsack problem 是一种组合优化的NP
  • React 第七章 条件渲染

    根据条件渲染不同组件 可以实现组件的显示与隐藏 第一种 在函数内部通过属性props条件的判断 返回不同的组件 进行控制显示隐藏 如果返回null则表示不展示隐藏 1 条件渲染 function UserGreeting props ret
  • 银河麒麟软件源更新

    银河麒麟有用软件源 1 银河麒麟系统无法更新下载软件 原因是软件源失效 2 需要更换有效的软件源 3 修改软件源地址 在etc apt 的sources list文件里添加镜像源 deb http archive ubuntu com ub
  • js 在元素前后添加元素

    在元素前后添加创建的元素 话不多说 直接上代码 div div
  • axios上传formdata失败以及nodejs接受formdata失败

    axios上传formdata失败以及nodejs接受formdata失败 今天用nodejs写一个上传图片的功能 因为这个功能是用在vue中的 我首先在nodejs服务器上用jquery的ajax写好了这个功能 可是移植到vue中却出现了
  • 怎么查mac电脑是不是正品_mac电脑怎么投屏 教你选择适合自己的Mac投屏软件

    mac上有什么好的投屏软件嘛 苹果手机ios投屏到mac用哪款投屏软件 mac投屏ipad该用哪款软件怎么操作 macdown小编给大家介绍的这几款Mac投屏软件 各有各的特色 总有一款适合你投屏 1 AIrServer 7 for Mac
  • python人工智能,分类例解

    分类是一种常见的机器学习算法 是一种有监督的算法 简单说就是给出学习集数据都是带标签的 通过训练学习集数据获得模型 对未来给出的实际数据 根据模型进行分类 这里采用K最近邻算法 KNN K nearest neighbour KNN算法非常
  • 中国电子学会2023年05月份青少年软件编程C++等级考试试卷四级真题(含答案)

    1 怪盗基德的滑翔翼 怪盗基德是一个充满传奇色彩的怪盗 专门以珠宝为目标的超级盗窃犯 而他最为突出的地方 就是他每次都能逃脱中村警部的重重围堵 而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼 有一天 怪盗基德像往常一样偷走了一颗珍贵的