【2023年全国青少年信息素养大赛智能算法挑战赛复赛真题卷】

本文主要是介绍【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年全国青少年信息素养大赛智能算法挑战赛复赛真题卷】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084217

相关文章

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

使用Python检查CPU型号并弹出警告信息

《使用Python检查CPU型号并弹出警告信息》本教程将指导你如何编写一个Python程序,该程序能够在启动时检查计算机的CPU型号,如果检测到CPU型号包含“I3”,则会弹出一个警告窗口,感兴趣的小... 目录教程目标方法一所需库步骤一:安装所需库步骤二:编写python程序步骤三:运行程序注意事项方法二

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [