第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
【选手须知】 gzh 大学竞赛君 提供
考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试
题。
考试时间为
4
小时。考试期间选手可浏览自己已经提交的答案,被浏览的
答案允许拷贝。时间截止后,将无法继续提交或浏览答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它
方式提交的答案无效。
试题包含“结果填空”和“程序设计”两种题型。
结果填空题
:要求选手根据题目描述直接填写结果。求解方式不限。不要
求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。
程序设计题
:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。调试通过后,拷贝提交。
注意:
不要使用
package
语句
。
注意:选手代码的主类名必须为:
Main
,否则会被判为无效代码。
注意:如果程序中引用了类库,在提交时必须将
import
语句与程序的其
他部分同时提交。只允许使用
Java
自带的类库。
第十六届蓝桥杯大赛软件赛省赛
1
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
A:
偏蓝
本题总分:
5
分
【问题描述】
小蓝特别喜欢蓝色。最近,小蓝学习了颜色在计算机中的一种表示方法:
用三个
0
至
255
之间的整数(包含
0
和
255
)分别表示颜色的红、绿、蓝三个
分量。
在这种颜色的表示方法下,小蓝定义了一种颜色是
偏蓝
的,是指蓝色分量
大于红色分量,且蓝色分量大于绿色分量。例如,红、绿、蓝分别为
10
、
10
、
11
时是偏蓝的;红、绿、蓝分别为
100
、
200
、
200
时不是偏蓝的。
小蓝想知道,有多少种不同的颜色是偏蓝的。两种颜色如果在红、绿、蓝
中至少有一个分量值不同,就认为是不同的。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个
整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题
A:
偏蓝
2
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
B: 2025
本题总分:
5
分
【问题描述】
求
1
∼
20250412
中,有多少个数可以通过改变其数字顺序后含有
2025
。
例如,
5220
、
21520
可以,而
205
、
225
、
2200
、
222555111
则不行。
提示:要求的数就是含有至少
1
个
0
、
2
个
2
、
1
个
5
的数。
【答案提交】
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个
整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题
B: 2025
3
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
C: 2025
图形
时间限制
: 3.0s
内存限制
: 512.0MB
本题总分:
10
分
【问题描述】
小蓝要画一个
2025
图形。图形的形状为一个
h
×
w
的矩形,其中
h
表示图
形的高,
w
表示图形的宽。当
h
= 5
,
w
= 10
时,图形如下所示:
2025202520
0252025202
2520252025
5202520252
2025202520
图形的规律是:第一行用
2025
重复填入,第二行开始,每行向左移动一个
字符,用
2025
重复填入。
给定
h
,
w
,请输出对应的图形。
【输入格式】
输入的第一行包含两个正整数
h
,
w
,用一个空格分隔。
【输出格式】
输出若干行,表示对应的图形。
【样例输入】
4 5
【样例输出】
20252
02520
试题
C: 2025
图形
4
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
25202
52025
【评测用例规模与约定】
对于
30
%
的评测用例,
h
= 1
,
1
≤
w
≤
20
;
对于
60
%
的评测用例,
1
≤
h
,
w
≤
20
;
对于所有评测用例,
1
≤
h
,
w
≤
100
。
试题
C: 2025
图形
5
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
D:
最短距离
时间限制
: 3.0s
内存限制
: 512.0MB
本题总分:
10
分
【问题描述】
在一条一维的直线上,存在着
n
台显示器和
n
个电源插座。老师给小蓝布
置了个任务:负责将每台显示器通过电源线与一个插座相连接(每个插座最多
只能给一台显示器供电);同时,老师希望所消耗的电源线的长度尽可能的少,
请你帮小蓝计算下电源线的最小消耗长度为多少?
为了便于计算,你只需要考虑直线距离即可。
【输入格式】
输入的第一行包含一个正整数
n
。
接下来
n
行,每行包含一个整数
x
i
,依次表示每台显示器的坐标。
接下来
n
行,每行包含一个整数
y
i
,依次表示每个插座的坐标。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
2
0
1
试题
D:
最短距离
6
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
2
3
【样例输出】
4
【评测用例规模与约定】
对于
20
%
的评测用例,
1
≤
n
≤
10
,
0
≤
x
i
,
y
i
≤
100
;
对于
40
%
的评测用例,
1
≤
n
≤
100
,
0
≤
x
i
,
y
i
≤
10
3
;
对于
60
%
的评测用例,
1
≤
n
≤
1000
,
0
≤
x
i
,
y
i
≤
10
5
;
对于
80
%
的评测用例,
1
≤
n
≤
10000
,
0
≤
x
i
,
y
i
≤
10
9
;
对于所有评测用例,
1
≤
n
≤
50000
,
0
≤
x
i
,
y
i
≤
10
9
。
试题
D:
最短距离
7
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
E:
冷热数据队列
时间限制
: 3.0s
内存限制
: 512.0MB
本题总分:
15
分
【问题描述】
小蓝是一名计算机专业的学生,最近他学习了《操作系统》、《数据结构》
等课程,他设计了一种名为
“
冷热数据队列
”
的数据结构,来对数据页进行管
理。
冷热数据队列
q
可以看做由两个子队列组成:长度为
n
1
的热数据队列
q
1
和长度为
n
2
的冷数据队列
q
2
。当我们需要访问某个数据页
p
时:
1
)若
p
不在队列
q
中(即既不在
q
1
中,也不在
q
2
中),则加载数据页
p
,并插入到
q
2
的首部。
2
)若
p
已经在队列
q
中,则将
p
移动至
q
1
首部。
3
)当
q
1
或
q
2
队列容量不足时,会将其尾部的数据页淘汰出去。
4
)当
q
1
已满,但
q
2
未满时,从
q
1
中淘汰出的数据页会移动到
q
2
首部。
【输入格式】
输入的第一行包含两个正整数
n
1
,
n
2
,用一个空格分隔。
第二行包含一个整数
m
,表示操作次数。
第三行包含
m
个正整数
v
1
,
v
2
,
· · ·
,
v
m
,表示依次访问到的数据页的编号,
相邻整数之间使用一个空格分隔。
【输出格式】
输出两行。
第一行包含若干个整数,相邻整数之间使用一个空格分隔,依次表示
q
1
中
的数据页。
第二行包含若干个整数,相邻整数之间使用一个空格分隔,依次表示
q
2
中
的数据页。
试题
E:
冷热数据队列
8
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
【样例输入】
3 3
10
1 2 3 4 3 2 2 1 3 4
【样例输出】
4 3 2
1
【样例说明】
i
v
i
q
1
q
2
−
−
[]
[]
1
1
[]
[1]
2
2
[]
[2
,
1]
3
3
[]
[3
,
2
,
1]
4
4
[]
[4
,
3
,
2]
5
3
[3]
[4
,
2]
6
2
[2
,
3]
[4]
7
2
[2
,
3]
[4]
8
1
[2
,
3]
[1
,
4]
9
3
[3
,
2]
[1
,
4]
10
4
[4
,
3
,
2]
[1]
【评测用例规模与约定】
对于
20
%
的评测用例,
1
≤
n
1
,
n
2
≤
10
,
1
≤
m
≤
10
;
对于
40
%
的评测用例,
1
≤
n
1
,
n
2
≤
20
,
1
≤
m
≤
100
;
对于
60
%
的评测用例,
1
≤
n
1
,
n
2
≤
100
,
1
≤
m
≤
1000
;
对于
80
%
的评测用例,
1
≤
n
1
,
n
2
≤
10
3
,
1
≤
m
≤
10
4
;
对于所有评测用例,
1
≤
n
1
,
n
2
≤
10
4
,
1
≤
m
≤
10
5
,
0
≤
v
i
≤
10
4
。
试题
E:
冷热数据队列
9
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
F:
倒水
时间限制
: 3.0s
内存限制
: 512.0MB
本题总分:
15
分
【问题描述】
小蓝有
n
个装了水的瓶子,从左到右摆放,第
i
个瓶子里装有
a
i
单位的水。
为了美观,小蓝将水循环染成了
k
种颜色,也就是说,第
i
个瓶子和第
i
+
k
个
瓶子里的水的颜色相同。
小蓝发现有的瓶子里的水太少了,因此他规定如果第
i
个瓶子和第
j
个瓶
子中的水颜色相同并且满足
i
<
j
,即可将任意整数单位的水从第
i
个水瓶倒
出,倒入第
j
个水瓶中。小蓝想知道任意次操作后所有瓶子中的水的最小值
min
{
a
i
}
最大可以是多少?
【输入格式】
输入的第一行包含两个正整数
n
,
k
,用一个空格分隔。
第二行包含
n
个正整数
a
1
,
a
2
,
· · ·
,
a
n
,相邻整数之间使用一个空格分隔。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
7 3
8 5 5 2 2 3 4
【样例输出】
3
【样例说明】
其中一种方案:
a
1
往
a
4
倒入
3
单位;
a
2
往
a
5
倒入
2
单位;
a
3
往
a
6
倒入
1
单位;最终每个瓶子里的水:
5
,
3
,
4
,
5
,
4
,
4
,
4
,最小值为
3
。
试题
F:
倒水
10
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
【评测用例规模与约定】
对于
40
%
的评测用例,
1
≤
n
,
a
i
≤
100
;
对于所有评测用例,
1
≤
n
,
a
i
≤
100000
,
1
≤
k
≤
n
。
试题
F:
倒水
11
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
G:
小说
时间限制
: 3.0s
内存限制
: 512.0MB
本题总分:
20
分
【问题描述】
小蓝是一位网络小说家。现在他正在撰写一部新的推理小说,这部小说有
n
个不同的人物。
小说的每一章都有以下三种情节的一种:
1
、
A
发现
B
不知道真相。
2
、
A
发现
B
知道真相。
3
、
A
知道了真相。
为了保证读者的协调和新鲜感,小蓝的小说还要满足以下要求:
1
、
“
B
发现
A
不知道真相
”
不能在
“
A
知道了真相
”
后。
2
、
“
B
发现
A
知道真相
”
不能在
“
A
知道了真相
”
前。
3
、
“
B
发现
A
不知道真相
”
不能在
“
B
发现
A
知道真相
”
后。
4
、相邻的两章情节类型不同,例如如果第一章是
A
发现
B
不知道真相那
么第二章就不能是
C
发现
D
不知道真相。
5
、完全相同的情节不能出现两次。
现在小蓝希望知道,他最多能写多少章。
【输入格式】
输入的第一行包含一个正整数
n
,表示小说人数。
【输出格式】
输出一行包含一个整数表示答案,即小蓝最多能写多少章小说。
【样例输入
1
】
2
试题
G:
小说
12
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
【样例输出
1
】
6
【样例说明
1
】
以下是一种可能的情况:
1
、
B
发现
A
不知道真相。
2
、
A
知道了真相。
3
、
B
发现
A
知道真相。
4
、
A
发现
B
不知道真相。
5
、
B
知道了真相。
6
、
A
发现
B
知道真相。
小蓝一共能写
6
章。
【样例输入
2
】
3
【样例输出
2
】
13
【评测用例规模与约定】
对于
30
%
的评测用例,
n
≤
5
;
对于所有评测用例,
1
≤
n
≤
10
9
。
试题
G:
小说
13
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
试题
H:
登山
时间限制
: 3.0s
内存限制
: 512.0MB
本题总分:
20
分
【问题描述】
小蓝正在登山,山峰的高度构成
n
行
m
列的正整数矩阵,
a
i
,
j
表示第
i
行
第
j
列格子
(
i
,
j
)
上的山峰的高度。小蓝以一种特别的方式进行登山,如果他此
刻在第
p
行第
q
列的格子
(
p
,
q
)
上,那么下一步可以选择:
1)
走到格子
(
i
,
q
)
,满足
a
i
,
q
<
a
p
,
q
且
i
>
p
;
2)
走到格子
(
i
,
q
)
,满足
a
i
,
q
>
a
p
,
q
且
i
<
p
;
3)
走到格子
(
p
,
j
)
,满足
a
p
,
j
<
a
p
,
q
且
j
>
q
;
4)
走到格子
(
p
,
j
)
,满足
a
p
,
j
>
a
p
,
q
且
j
<
q
。
小蓝想知道,如果他依次从每一个格子开始出发,按照最优策略,他最高
能到达的山峰的高度的平均值是多少?
【输入格式】
输入的第一行包含两个正整数
n
,
m
,用一个空格分隔。
接下来
n
行,每行包含
m
个正整数。其中第
i
行包含
a
i
,
1
,
a
i
,
2
,
· · ·
,
a
i
,
m
,相
邻整数之间使用一个空格分隔。
【输出格式】
输出一行包含一个实数表示答案,四舍五入保留正好
6
位小数。
【样例输入
1
】
2 2
1 3
3 2
试题
H:
登山
14
第十六届蓝桥杯大赛软件赛省赛
Java
大学
C
组
【样例输出
1
】
2.500000
【样例说明
1
】
除了从格子
(1
,
1)
出发以外,其他格子都能到达高度为
3
的山峰,
(1 + 3 +
3 + 3)/4 = 2
.
5
。
【样例输入
2
】
2 3
2 4 1
4 2 5
【样例输出
2
】
4.166667
【样例说明
2
】
每个格子能到达的高度:
4
,
4
,
4
4
,
4
,
5
其中
(1
,
1)
可以先到达格子
(1
,
3)
再到达格子
(1
,
2)
。
【评测用例规模与约定】
对于
40
%
的评测用例,
1
≤
n
,
m
≤
10
2
;
对于所有评测用例,
1
≤
n
,
m
≤
10
4
,
1
≤
n
×
m
≤
10
6
,
1
≤
a
i j
≤
10
9
。
试题
H:
登山
15