草庐IT

第十三届蓝桥杯大赛软件赛省赛 Python 大学 C 组

森然呀 2024-06-25 原文
试题 A: 排列字母
本题总分: 5
【问题描述】
小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如, LANQIAO 排列后为 AAILNOQ
又如, GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY
请问对于以下字符串,排列之后字符串是什么?
WHERETHEREISAWILLTHEREISAWAY
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内
容将无法得分
试题 B: 特殊时间
本题总分: 5
【问题描述】
2022 2 22 22:20 是一个很有意义的时间,年份为 2022 ,由 3 2
1 0 组成,如果将月和日写成 4 位,为 0222 ,也是由 3 2 1 0
成,如果将时间中的时和分写成 4 位,还是由 3 2 1 0 组成。
小蓝对这样的时间很感兴趣,他还找到了其它类似的例子,比如 111 10
11 01:11 2202 2 22 22:02 等等。
请问,总共有多少个时间是这种年份写成 4 位、月日写成 4 位、时间写成
4 位后由 3 个一种数字和 1 个另一种数字组成。注意 1111 11 11 11:11
不算,因为它里面没有两种数字。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 C: 纸张尺寸
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 10
【问题描述】
ISO 国际标准中定义了 A0 纸张的大小为 1189 mm × 841 mm ,将 A0
沿长边对折后为 A1 纸,大小为 841 mm × 594 mm ,在对折的过程中长度直接取
下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。
输入纸张的名称,请输出纸张的大小。
【输入格式】
输入一行包含一个字符串表示纸张的名称,该名称一定是 A0 A1 A2
A3 A4 A5 A6 A7 A8 A9 之一。
【输出格式】
输出两行,每行包含一个整数,依次表示长边和短边的长度。
【样例输入 1
A0
【样例输出 1
1189
841
【样例输入 2
A1
【样例输出 2
841
594
试题 D: 数位排序
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 10
【问题描述】
小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。当
两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,
将数值小的排在前面。
例如, 2022 排在 409 前面,因为 2022 的数位之和是 6 ,小于 409 的数位
之和 13
又如, 6 排在 2022 前面,因为它们的数位之和相同,而 6 小于 2022
给定正整数 n m ,请问对 1 n 采用这种方法排序时,排在第 m 个的元
素是多少?
【输入格式】
输入第一行包含一个正整数 n
第二行包含一个正整数 m
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
13
5
【样例输出】
3
【样例说明】
1 13 的排序为: 1, 10, 2, 11, 3, 12, 4, 13, 5, 6, 7, 8, 9 。第 5 个数为 3
【评测用例规模与约定】
对于 30 % 的评测用例, 1 m n 300
对于 50 % 的评测用例, 1 m n 1000
对于所有评测用例, 1 m n 10 6
试题 E: 矩形拼接
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 15
【问题描述】
已知 3 个矩形的大小依次是 a 1 × b 1 , a 2 × b 2 a 3 × b 3 。用这 3 个矩形能拼
出的所有多边形中,边数最少可以是多少?
例如用 3 × 2 的矩形(用 A 表示)、 4 × 1 的矩形(用 B 表示)和 2 × 4 的矩
形(用 C 表示)可以拼出如下 4 边形。
例如用 3 × 2 的矩形(用 A 表示)、 3 × 1 的矩形(用 B 表示)和 1 × 1 的矩
形(用 C 表示)可以拼出如下 6 边形。

 

【输入格式】
输入包含多组数据。
第一行包含一个整数 T ,代表数据组数。
以下 T 行,每行包含 6 个整数 a 1 , b 1 , a 2 , b 2 , a 3 , b 3 ,其中 a 1 , b 1 是第一个矩
形的边长, a 2 , b 2 是第二个矩形的边长, a 3 , b 3 是第三个矩形的边长。
【输出格式】
对于每组数据,输出一个整数代表答案。
【样例输入】
2
2 3 4 1 2 4
1 2 3 4 5 6
【样例输出】
4
8
【评测用例规模与约定】
对于 10 % 的评测用例, 1 T 5 1 a 1 , b 1 , a 2 , b 2 , a 3 , b 3 10 a 1 = a 2 =
a 3
对于 30 % 的评测用例, 1 T 5 1 a 1 , b 1 , a 2 , b 2 , a 3 , b 3 10
对于 60 % 的评测用例, 1 T 10 1 a 1 , b 1 , a 2 , b 2 , a 3 , b 3 20
对于所有评测用例, 1 T 1000 1 a 1 , b 1 , a 2 , b 2 , a 3 , b 3 100
试题 F: GCD
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 15
【问题描述】
给定两个不同的正整数 a , b ,求一个正整数 k 使得 gcd ( a + k , b + k ) 尽可能
大,其中 gcd ( a , b ) 表示 a b 的最大公约数,如果存在多个 k ,请输出所有满
足条件的 k 中最小的那个。
【输入格式】
输入一行包含两个正整数 a , b ,用一个空格分隔。
【输出格式】
输出一行包含一个正整数 k
【样例输入】
5 7
【样例输出】
1
【评测用例规模与约定】
对于 20 % 的评测用例, a < b 10 5
对于 40 % 的评测用例, a < b 10 9
对于所有评测用例, 1 a < b 10 18
试题 G: 蜂巢
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 20
【问题描述】
蜂巢由大量的六边形拼接而成,定义蜂巢中的方向为: 0 表示正西方向, 1
表示西偏北 60 2 表示东偏北 60 3 表示正东, 4 表示东偏南 60 5 表示西
偏南 60
对于给定的一点 O ,我们以 O 为原点定义坐标系,如果一个点 A O
先向 d 方向走 p 步再向 ( d + 2) mod 6 方向(
d 的顺时针 120 方向)走 q 步到
达,则这个点的坐标定义为 ( d , p , q ) 。在蜂窝中,一个点的坐标可能有多种。
下图给出了点 B (0 , 5 , 3) 和点 C (2 , 3 , 2) 的示意。

 

给定点 ( d 1 , p 1 , q 1 ) 和点 ( d 2 , p 2 , q 2 ) ,请问他们之间最少走多少步可以到达?
【输入格式】
输入一行包含 6 个整数 d 1 , p 1 , q 1 , d 2 , p 2 , q 2 表示两个点的坐标,相邻两个整
数之间使用一个空格分隔。
【输出格式】
输出一行包含一个整数表示两点之间最少走多少步可以到达。
【样例输入】
0 5 3 2 3 2
试题 G: 蜂巢
10 第十三届蓝桥杯大赛软件赛省赛 Python 大学 C
【样例输出】
7
【评测用例规模与约定】
对于 25 % 的评测用例, p 1 , p 2 10 3
对于 50 % 的评测用例, p 1 , p 2 10 5
对于 75 % 的评测用例, p 1 , p 2 10 7
对于所有评测用例, 0 d 1 , d 2 5 0 q 1 < p 1 10 9 0 q 2 < p 2 10 9
试题 H: 重新排序
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 20
【问题描述】
给定一个数组 A 和一些查询 L i , R i ,求数组中第 L i 至第 R i 个元素之和。
小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查
询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可
以增加多少 ?
【输入格式】
输入第一行包含一个整数 n
第二行包含 n 个整数 A 1 , A 2 , · · · , A n ,相邻两个整数之间用一个空格分隔。
第三行包含一个整数 m 表示查询的数目。
接下来 m 行,每行包含两个整数 L i R i ,相邻两个整数之间用一个空格分
隔。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
5
1 2 3 4 5
2
1 3
2 5
【样例输出】
4
试题 H: 重新排序
12 第十三届蓝桥杯大赛软件赛省赛 Python 大学 C
【样例说明】
原来的和为 6 + 14 = 20 ,重新排列为 (1 , 4 , 5 , 2 , 3) 后和为 10 + 14 = 24 ,增
加了 4
【评测用例规模与约定】
对于 30 % 的评测用例, n , m 50
对于 50 % 的评测用例, n , m 500
对于 70 % 的评测用例, n , m 5000
对于所有评测用例, 1 n , m 10 5 1 A i 10 6 1 L i R i 10 6
试题 I: 青蛙过河
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 25
【问题描述】
小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里
的石头跳到对岸。
河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。
不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就
会下降 1 ,当石头的高度下降到 0 时小青蛙不能再跳到这块石头上(某次跳跃
后使石头高度下降到 0 是允许的)。
小青蛙一共需要去学校上 x 天课,所以它需要往返 2 x 次。当小青蛙具有
一个跳跃能力 y 时,它能跳不超过 y 的距离。
请问小青蛙的跳跃能力至少是多少才能用这些石头上完 x 次课。
【输入格式】
输入的第一行包含两个整数 n , x ,分别表示河的宽度和小青蛙需要去学校
的天数。请注意 2 x 才是实际过河的次数。
第二行包含 n 1 个非负整数 H 1 , H 2 , · · · , H n 1 ,其中 H i > 0 表示在河中与
小青蛙的家相距 i 的地方有一块高度为 H i 的石头, H i = 0 表示这个位置没有石
头。
【输出格式】
输出一行,包含一个整数,表示小青蛙需要的最低跳跃能力。
【样例输入】
5 1
1 0 1 0
试题 I: 青蛙过河
14 第十三届蓝桥杯大赛软件赛省赛 Python 大学 C
【样例输出】
4
【样例解释】
由于只有两块高度为 1 的石头,所以往返只能各用一块。第 1 块石头和对
岸的距离为 4 ,如果小青蛙的跳跃能力为 3 则无法满足要求。所以小青蛙最少
需要 4 的跳跃能力。
【评测用例规模与约定】
对于 30 % 的评测用例, n 100
对于 60 % 的评测用例, n 1000
对于所有评测用例,1 n 10 5 , 1 x 10 9 , 1 H i 10 4 。\
试题 J: 因数平方和
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 25
【问题描述】
f ( x ) x 的所有因数的平方的和。例如: f (12) = 1 2 + 2 2 + 3 2 + 4 2 + 6 2 +
12 2
定义 g ( n ) = n
i =1 f ( i ) 。给定 n , g ( n ) 除以 10 9 + 7 的余数。
【输入格式】
输入一行包含一个正整数 n
【输出格式】
输出一个整数表示答案 g ( n ) 除以 10 9 + 7 的余数。
【样例输入】
100000
【样例输出】
394827960
【评测用例规模与约定】
对于 20 % 的评测用例, n 10 5
对于 30 % 的评测用例, n 10 7
对于所有评测用例, 1 n 10 9

有关第十三届蓝桥杯大赛软件赛省赛 Python 大学 C 组的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  3. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  4. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  5. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  6. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  7. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  8. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  9. Python 刷Leetcode题库,顺带学英语单词(31) - 2

    ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem

  10. python - 是否可以使用 Ruby 或 Python 禁用 anchor /引用来发出有效的 YAML? - 2

    是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案

随机推荐