第十三届蓝桥杯Java c组真题

第十三届蓝桥杯大赛软件赛省赛 Java 大学 C
第十三届蓝桥杯大赛软件赛省赛
Java 大学 C
【考生须知】
考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试
题。
考试时间为 4 小时。考试期间选手可浏览自己已经提交的答案,被浏览的
答案允许拷贝。时间截止后,将无法继续提交或浏览答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它
方式提交的答案无效。
试题包含“结果填空”和“程序设计”两种题型。
结果填空题 :要求选手根据题目描述直接填写结果。求解方式不限。不要
求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。
程序设计题 :要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。调试通过后,拷贝提交。
注意: 不要使用 package 语句
注意:选手代码的主类名必须为: Main ,否则会被判为无效代码。
注意:如果程序中引用了类库,在提交时必须将 import 语句与程序的其
他部分同时提交。只允许使用 Java 自带的类库。
第十三届蓝桥杯大赛软件赛省赛
试题 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
【问题描述】
给定 n 个整数 a 1 , a 2 , · · · , a n ,求它们两两相乘再相加的和,即
S = a 1 · a 2 + a 1 · a 3 + · · · + a 1 · a n + a 2 · a 3 + · · · + a n 2 · a n 1 + a n 2 · a n + a n 1 · a n .
【输入格式】
输入的第一行包含一个整数 n
第二行包含 n 个整数 a 1 , a 2 , · · · a n
【输出格式】
输出一个整数 S ,表示所求的和。请使用合适的数据类型进行运算。
【样例输入】
4
1 3 6 9
【样例输出】
117
【评测用例规模与约定】
对于 30 % 的数据, 1 n 1000 1 a i 100
对于所有评测用例, 1 n 200000 1 a i 1000
试题 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: 选数异或
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 15
【问题描述】
给定一个长度为 n 的数列 A 1 , A 2 , · · · , A n 和一个非负整数 x ,给定 m 次查
, 每次询问能否从某个区间 [ l , r ] 中选择两个数使得他们的异或等于 x
【输入格式】
输入的第一行包含三个整数 n , m , x
第二行包含 n 个整数 A 1 , A 2 , · · · , A n
接下来 m 行,每行包含两个整数 l i , r i 表示询问区间 [ l i , r i ]
【输出格式】
对于每个询问 , 如果该区间内存在两个数的异或为 x 则输出 yes , 否则输出
no
【样例输入】
4 4 1
1 2 3 4
1 4
1 2
2 3
3 3
【样例输出】
yes
no
yes
no
【样例说明】
显然整个数列中只有 2 , 3 的异或为 1
【评测用例规模与约定】
对于 20 % 的评测用例, 1 n , m 100
对于 40 % 的评测用例, 1 n , m 1000
对于所有评测用例, 1 n , m 100000 0 x < 2 20 1 l i r i n
0 A i < 2 20
试题 G: GCD
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 20
【问题描述】
给定两个不同的正整数 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
试题 H: 青蛙过河
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 20
【问题描述】
小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里
的石头跳到对岸。
河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。
不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就
会下降 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
【样例输出】
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
试题 I: 因数平方和
时间限制 : 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
试题 J: 最长不下降子序列
时间限制 : 1.0s
内存限制 : 512.0MB
本题总分: 25
【问题描述】
给定一个长度为 N 的整数序列: A 1 , A 2 , · · · , A N 。现在你有一次机会,将其
中连续的 K 个数修改成任意一个相同值。请你计算如何修改可以使修改后的数
列的最长不下降子序列最长,请输出这个最长的长度。
最长不下降子序列是指序列中的一个子序列,子序列中的每个数不小于在
它之前的数。
【输入格式】
输入第一行包含两个整数 N K
第二行包含 N 个整数 A 1 , A 2 , · · · , A N
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
5 1
1 4 2 8 5
【样例输出】
4
【评测用例规模与约定】
对于 20 % 的评测用例, 1 K N 100
对于 30 % 的评测用例, 1 K N 1000
对于 50 % 的评测用例, 1 K N 10000
对于所有评测用例, 1 K N 10 5 1 A i 10 6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱因斯坦乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值