【2023年全国青少年信息素养大赛智能算法挑战赛复赛真题卷】
目录
2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题
2023全国⻘少年信息素养⼤赛智能算法挑战复赛⼩学组真题
2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题
1. 修复机器人的对话词库错误
【题目描述】
基于人工智能技术的智能陪伴机器人的语言词库被黑客的病毒感染了,感染方 式是在单词中的某个字母被增加了两次,例如“hello”变成了“heeello” 。空格 字符被替换为长度不固定的数字乱码,请修复它。
【输入格式】
输入一行字符串 (字符串中无空格) 。这一行是被感染的字符串。
【输出格式】
输出一行对应的正确字符串。
【样例输入】(测试数据不包含本样例)
Good24565morrrning
【样例输出】
Good morning
2. 定制架子问题
【题目描述】
李莳花要做一个架子,把她喜欢的摆件叠放起来,她的每个摆件的位置顺序是固 定的。这个架子的宽度是 W,每层排放的摆件不能超过这个宽度,每层架子的高度不 能低于最高的摆件的高度。假设,给出排列好的每个摆件的宽度 Wi ,和高度 Hi ,请 计算需要最少多高的架子。
【输入格式】
输入的第一行有 2 个数字,一个是摆件的个数n,和架子的宽度 W。 以下摆件个数 n 行,每行的第一个数是摆件的宽度 Wi 和高度 Hi。
【输出格式】
输出放置摆件架子的最低高度。
【样例输入】(测试数据不包含本样例)
5 5
2 1
1 2
1 3
2 3
2 2
【样例输出】
5
3. 输出多进制数
【题目描述】
输入一个小于 20 的正整数n,要求按从小到大的顺序输出所有的 n 位 m 进制数, 每个数占一行。
【输入格式】
输入一个小于 20 的正整数n,和一个小于 10 的正整数m。
【输出格式】
按从小到大的顺序输出所有的 n 位 m 进制数,每个数占一行。
【样例输入】(测试数据不包含本样例)
3 2
【样例输出】
000
001
010
011
100
101
110
111
4. 在 AI 下棋程序中,计算猫抓老鼠游戏的概率
【题目描述】
有这样一个游戏:在一个 n*n 的格子棋盘里,n 是奇数;有两种棋子,一个是只 能横向移动的棋子猫,一个是可以上下左右移动的棋子老鼠。假设老鼠在棋盘的正 中央,第一步老鼠将进行上下左右的随机移动。棋子猫在从棋盘的中间行的最左边 向棋盘的最右边移动,棋子猫每次移动只能是从左到右移动一步,第一步是猫位于 棋盘的中间行的最左边格子。请问:在猫移动到棋盘外面前,会有多大概率抓到老 鼠?
【输入格式】
输入一个大于 1 的奇数n,表示棋盘的大小。
【输出格式】
棋子猫抓到棋子老鼠的概率。(小数四舍五入保留4 位有效数字) 【样例输入】(测试数据不包含本样例)
3
【样例输出】
0.6667
以下是针对您提供的四个题目的C++解决方案:
### 题目 1:修复机器人的对话词库错误
#include <iostream>#include <string>#include <cctype>int main() {std::string input;std::cin >> input;std::string output = "";for (char ch : input) {if (std::isalpha(ch)) {if (ch == 'l' || ch == 's') {output += 'l';}output += ch;} else if (isdigit(ch)) {int len = ch - '0';for (int i = 0; i < len; ++i) {output += '0' + (input[i] - '0');}}}std::cout << output << std::endl;return 0;}
题目 2:定制架子问题
#include <iostream>#include <vector>#include <algorithm>int main() {int n, W;std::cin >> n >> W;std::vector<std::pair<int, int>> pieces(n);for (int i = 0; i < n; ++i) {std::cin >> pieces[i].second >> pieces[i].first;}std::sort(pieces.begin(), pieces.end());int maxHeight = 0;int currentHeight = 0;for (const auto &piece : pieces) {if (currentHeight + piece.first <= maxHeight) {maxHeight = std::max(maxHeight, currentHeight + piece.first);} else {maxHeight = std::max(maxHeight, piece.first);currentHeight = piece.first;}}std::cout << maxHeight << std::endl;return 0;}
题目 3:输出多进制数
#include <iostream>#include <string>#include <cmath>void printNumber(int n, int m) {std::string digits = "0123456789";std::cout << digits.substr(0, n);for (int i = 1; i < m; ++i) {std::string num = "";for (int j = 0; j < n; ++j) {num += digits.substr((i + j) % m, 1);}std::cout << num << std::endl;}}int main() {int n, m;std::cin >> n >> m;printNumber(n, m);return 0;}
题目 4:在 AI 下棋程序中,计算猫抓老鼠游戏的概率
#include <iostream>#include <cmath>double calculateProbability(int n) {// n is odd,老鼠在棋盘的正中央,猫从中间行的最左边开始int middle = n / 2; // 棋盘的中间行int half = (n - 1) / 2; // 棋盘的一半double catMoves = half; // 猫需要移动的步数double totalMoves = pow(2, half + 1) - 1; // 老鼠可能的移动步数return catMoves / totalMoves;}int main() {int n;std::cin >> n;std::cout.precision(4);std::cout << std::fixed << calculateProbability(n) << std::endl;return 0;}
2023全国⻘少年信息素养⼤赛智能算法挑战复赛⼩学组真题
1.捡⽯头
【题⽬描述】
⼩强在河边捡了 2 块漂亮的⽯头,他想再捡两块⽯头,让这 4 块⽯头的质量正好为 30 ⽄ ,并且新捡的 两块⽯头的质量是介于前两块⽯头的质量之间的数字,请编程 输出第 3 块和第 4 块⽯头的质量 。注: 每个⽯头的重量都是整数,如果找不到合适 的⽯头,则输出 0 0。
【输⼊格式】
输⼊ 2 个数,数与数之间以空格间隔,表示 2 块⽯头的质量。
【输出格式】
输出表示第 3 、4 块⽯头的质量的所有可能结果,每块⽯头质量的数字⽤空格隔开 。多组结果时,按第 3块⽯头质量从⼩到⼤排序分⾏输出。
【样例输⼊】 (测试数据不包含本样例)
1 11
【样例输出】
810
9 9
2.判断数字出现了⼏次
【题⽬描述】
给定一个正整数n ,判断从 1 到这个数本身的所有数中,一共出现了多少次数字
k 。【输⼊格式】
输⼊共 1 ⾏ ,包括一个正整数 n 和一个正整数 k 。(0<n<32767 ,0<k<10) 【输出格式】
输出共 1 ⾏ ,一个整数,表示 1 到 n 之间的所有数 (包括n) ,一共出现了⼏次k 。【样例输⼊】 (测试数 据不包含本样例)
【样例输出】
2
3.滑雪板打包问题
【题⽬描述】
一家新开业的滑雪场,需要采购不同规格的滑雪板,每个滑雪板的 度是不固定的,现在需要把排列好 的滑雪板⽤⽊板做成⽊箱封装好进⾏快递,每次快递的总重 量是有限制的,不能超过重量 G 。只要每 次打包的重量不超过 G ,多个滑雪板可以摞 放在一起,使⽤与最 滑雪板 度相同的两个⽊板进⾏固 定 。假设,给出排列好的 每个滑雪板的重量 Gi ,和 度 Li ,请计算需要最少多 的⽊板才能将所有 的滑雪板 把包好。
【输⼊格式】
输⼊的第一⾏有两个数字,一个是滑雪板的个数,一个是包裹总重量 。 以下滑雪板个数⾏ ,每⾏的第一 个数是滑雪板的重量 Gi 和 度 Li。
【输出格式】
输出需要最少的⽊板的总 度 。注:每次打包需要 2 个⽊板。 【样例输⼊】 (测试数据不包含本样例)
5 5
2 1
1 2
1 3
2 3
2 2
【样例输出】
10
4.统计考试成绩
【题⽬描述】
期末考试结束了,⽼师要统计班⾥学⽣的考试成绩分布, 已知每个同学的考试成绩为在 0 到 100 分之 间的整数 ,设计一个程序 ,输⼊每个同学的成绩,计算出在 平均成绩 (成绩平均值向下取整) 之上的 (⼤于等于平均成绩) 和在平均成绩之下 的 (⼩于平均成绩) 的同学的⼈数。
【输⼊格式】
第一⾏ n 为学⽣成绩个数,0<n<50。
第⼆⾏ , 由空格隔开的每个同学的成绩,为 1 到 100 间的整数 。【输出格式】
两个整数, 由空格隔开,为平均分以上⼈数和平均分以下⼈数 。【样例输⼊】 (测试数据不包含本样例)
12
100 80 93 66 73 50 96 100 84 47 97 71
【样例输出】
5 7
相关文章:
【2023年全国青少年信息素养大赛智能算法挑战赛复赛真题卷】
目录 2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题 2023全国⻘少年信息素养⼤赛智能算法挑战复赛⼩学组真题 2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题 1. 修复机器人的对话词库错误 【题目描述】 基于人工智能技术的智能陪伴机器人的语言词库被…...

Android系统揭秘(一)-Activity启动流程(上)
public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode, Bundle options) { IApplicationThread whoThread (IApplicationThread) contextThread; … try { … int result …...
使用Java实现哈夫曼编码
前言 哈夫曼编码是一种经典的无损数据压缩算法,它通过赋予出现频率较高的字符较短的编码,出现频率较低的字符较长的编码,从而实现压缩效果。这篇博客将详细讲解如何使用Java实现哈夫曼编码,包括哈夫曼编码的原理、具体实现步骤以…...

IDEA、PyCharm等基于IntelliJ平台的IDE汉化方式
PyCharm 或者 IDEA 等编辑器是比较常用的,默认是英文界面,有些同学用着不方便,想要汉化版本的,但官方没有这个设置项,不过可以通过插件的方式进行设置。 方式1:插件安装 1、打开设置 File->Settings&a…...

visual studio 创建c++项目
目录 环境准备:安装 visual studiovisual studio 创建c项目Tips:新建cpp文件注释与取消注释代码 其他初学者使用Visual Studio开发C和C时常遇到的3个坑 环境准备:安装 visual studio 官网:https://visualstudio.microsoft.com/zh…...

MGV电源维修KUKA机器人电源模块PH2003-4840
MGV电源维修 库卡电源模块维修 机器人电源模块维修 库卡控制器维修 KUKA电源维修 库卡机器人KUKA主机维修 KUKA驱动器模块维修 机械行业维修:西门子系统、法那克系统、沙迪克、FIDIA、天田、阿玛达、友嘉、大宇系统;数控冲床、剪板机、折弯机等品牌数控…...

设置浏览器互不干扰
目录 一、查看浏览器文件路径 二、 其他盘新建文件夹Cache 三、以管理员运行CMD 四、执行命令 一、查看浏览器文件路径 chrome://version/ 二、 其他盘新建文件夹Cache D:\chrome\Cache 三、以管理员运行CMD 四、执行命令 Mklink /d "C:\Users\Lenovo\AppData\Loca…...
kafka操作命令详解
目录 1、集群运维命令 1.1、集群启停命令 1.3、集群迁移命令 1.4、权限管理命令 1.4.1、权限参数介绍 1.4.2、增加权限命令 1.4.3、移出权限命令 1.4.4、查看所有topic权限命令 1.4.5、查看某个topic权限命令 2、生产者命令 2.1、创建topic命令 2.2、删除topic命令 …...

graalvm jdk和openjdk
下载地址:https://github.com/graalvm/graalvm-ce-builds/releases 官网: https://www.graalvm.org...

docker基础使用教程
1.准备工作 例子:工程在docker_test 生成requirements.txt文件命令:(使用参考链接2) pip list --formatfreeze > requirements.txt 参考链接1: 安装pipreqs可能比较困难 python 项目自动生成环境配置文件require…...

计算机网络 交换机的安全配置
一、理论知识 1.交换机端口安全功能介绍 交换机端口安全功能是针对交换机端口进行安全属性的配置,以控制用户的安全接入。主要包括以下两种配置项: ①限制交换机端口的最大连接数:控制交换机端口连接的主机数量;防止用户进行恶…...
深入解析大语言模型系列:Transformer架构的原理与应用
引言 在自然语言处理(NLP)领域,大语言模型(Large Language Models, LLMs)近几年取得了突破性的进展,而 Transformer 作为这些模型的核心架构,功不可没。本文将详细介绍 Transformer 的原理、结…...
uni-app地图组件控制
uni.createMapContext(mapId,this) 创建并返回 map 上下文 mapContext 对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 <map> 组件。 注意:uni.createMapContext(mapId, this) app-nvue 平台 2.2.5 支持 uni.create…...
前端调用api发请求常用的请求头content- type的类型和常用场景
Content-Type 是一个非常重要的HTTP头,它定义了发送给服务器或客户端的数据的MIME类型。这对于服务器和客户端正确解析和处理数据至关重要。下面是一些常见的 Content-Type 值及其用途和区别。 常见的 Content-Type 值 text/plain • 用途: 纯文本,无格…...
数据仓库之SparkSQL
Apache Spark SQL是Spark中的一个组件,专门用于结构化数据处理。它提供了通过SQL和DataFrame API来执行结构化数据查询的功能。以下是对Spark SQL的详细介绍: 核心概念 DataFrame: 定义: DataFrame是一个分布式数据集合,类似于关系型数据库中…...
如何在 MySQL 中导入和导出数据库以及重置 root 密码
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 如何导入和导出数据库 导出 要导出数据库,打开终端,确保你没有登录到 MySQL 中,然后输入以下命令&…...

基于uni-app和图鸟UI的云课堂小程序开发实践
摘要: 随着移动互联网的快速发展,移动学习已成为教育领域的重要趋势。本文介绍了基于uni-app和图鸟UI框架开发的云课堂小程序,该小程序实现了移动教学、移动学习、移动阅读和移动社交的完美结合,为用户提供了一个便捷、高效的学习…...
解决python从TD数据库取50w以上大量数据慢的问题
1.问题背景描述 python项目中的时序数据都存放在TD数据库中,数据是秒级存入的,当查询一周数据时将超过50w数据量,这是一次性获取全量数据到python程序很慢,全流程10秒以上,希望进行优化加速 2.排查 首先,…...
游戏心理学Day21
玩家情绪与暴力攻击 情绪 情绪的分类 情绪是一种经常波动的东西,我们既体验过骄傲激动和开心,也体验过羞怯内疚和沮丧。我们的感受高度依赖于情境。研究者区分出至少三种途径来考察作为一种相对固定的人格特征的情绪,即为情感性࿰…...

接口测试基础 --- 什么是接口测试及其测试流程?
接口测试是软件测试中的一个重要部分,它主要用于验证和评估不同软件组件之间的通信和交互。接口测试的目标是确保不同的系统、模块或组件能够相互连接并正常工作。 接口测试流程可以分为以下几个步骤: 1.需求分析:首先,需要仔细…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...