3339 问题 F: 蓝桥杯2025年第十六届省赛真题-登山

 时间限制: 1s 内存限制: 128MB
题目描述

小蓝正在登山,山峰的高度构成 n 行 m 列的正整数矩阵,ai, j 表示第 i 行 第 j 列格子 (i, j) 上的山峰的高度。小蓝以一种特别的方式进行登山,如果他此 刻在第 p 行第 q 列的格子 (p, q) 上,那么下一步可以选择: 

1) 走到格子 (i, q),满足 ai,q < ap,q 且 i > p ; 

2) 走到格子 (i, q),满足 ai,q > ap,q 且 i < p ; 

3) 走到格子 (p, j),满足 ap, j < ap,q 且 j > q ; 

4) 走到格子 (p, j),满足 ap, j > ap,q 且 j < q 。 

小蓝想知道,如果他依次从每一个格子开始出发,按照最优策略,他最高 能到达的山峰的高度的平均值是多少?

输入

输入的第一行包含两个正整数 n, m ,用一个空格分隔。 

接下来 n 行,每行包含 m 个正整数。其中第 i 行包含 ai,1, ai,2, · · · , ai,m ,相 邻整数之间使用一个空格分隔。

输出

输出一行包含一个实数表示答案,四舍五入保留正好 6 位小数。

样例输入

2 2
1 3
3 2

样例输出

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 ≤ 102 ; 

对于所有评测用例,1 ≤ n, m ≤ 104 ,1 ≤ n × m ≤ 106 ,1 ≤ ai j ≤ 109

比赛公告

2025年第十六届蓝桥杯大赛软件赛省赛C/C++大学C组真题(注意后面还有2个填空题)

【选手须知】 

考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。 

考试时间为 4 小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。

时间截止后,将无法继续提交或浏览答案。 

对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 

选手必须通过浏览器方式提交自己的答案。

选手在其它位置的作答或其它 方式提交的答案无效。 

试题包含“结果填空”和“程序设计”两种题型。 

结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。 

程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。 考生的程序只有能运行出正确结果才有机会得分。 

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。 选手的程序必须是通用的,不能只对试卷中给定的数据有效。 

对于编程题目,要求选手给出的解答完全符合 GNU C/C++ 标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的 API。 

代码中允许使用 STL 类库。 

注意: main 函数结束必须返回 0。 

注意: 所有依赖的函数必须明确地在源文件中 #include

所有源码必须在同一文件中。调试通过后,拷贝提交。 

提交时,注意选择所期望的编译器类型。

试题 A: 数位倍数 (本题总分:5 分) 

【问题描述】 

请问在 1 至 202504 (含)中,有多少个数的各个数位之和是 5 的整数倍。 例如:5 、19 、8025 都是这样的数。 

【答案提交】 

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


试题 B: 2025 (本题总分:5 分) 

【问题描述】 

求 1 ∼ 20250412 中,有多少个数可以通过改变其数字顺序后含有 2025 。 

例如,5220 、21520 可以,而 205 、225 、2200 、222555111 则不行。 

提示:要求的数就是含有至少 1 个 0 、2 个 2 、1 个 5 的数。 

【答案提交】 

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。