刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

泳池
小C在一个排水系统不太好的学校上学。又是一个下雨天,学校里高低不平积了很多水。小C突发奇想:如果大雨一直下,多久以后我可以在学校里游泳呢?

学校是 N x N 的坐标方格 grid 中,每一个方格的值 grid(i,j)表示在位置 (i,j) 的高度。现在开始下雨了。当时间为 t 时,此时雨水导致方格中任意位置的水位为 t 。你可以从一个方格游向四周相邻的任意一个方格,但是前提是此时水位必须同时淹没这两个方格。假定小C的游动是不耗时的。

现在小C从坐标方格的左上(0,0)出发。最少耗时多久他才能到达坐标方格的右下平台 (N-1, N-1)?
时间限制:1000
内存限制:65536
输入
第一行有一个整数N,以下是一个N*N的方阵,代表各处的高度。 输入范围: 2 ≤ N ≤ 300 0 ≤ Height ≤ 10000000
输出
输出一个整数,代表最少等待时间T
样例输入

样例输入1:
2
0 2
1 3

样例输入2:
5
0 1 2 3 4
24 23 22 21 5
12 13 14 15 16
11 17 18 19 20
10 9 8 7 6

样例输出

样例输出1:
3

样例输出2:
16

提示

样例1:时间为3时,才可以游向平台(1,1),此时水位为3。 样例2:时间为16时,水位为16,此时才能保证(0,0)和(4,4)是联通的(请自行找出一条通路)。

【请在自己电脑上的编程软件上做 C语言没有标准答案 运行测试无误即为正确】

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】:首先,我们需要读取输入数据,包括N和N*N的方格高度矩阵。然后,我们使用一个visited数组来记录每个方格是否已经被访问过。初始时,只有起点(0,0)被访问过。接着,我们遍历每个方格,对于每个方格,我们计算当前时间currTime,即方格的高度。然后,我们尝试从当前方格向四个相邻方格移动,如果相邻方格在网格范围内,且高度小于等于当前时间,且未被访问过,则将其标记为已访问,并更新minTime为currTime,如果当前方格是终点(N-1,N-1),则结束循环。最后,我们输出minTime,即最少等待时间。需要注意的是,由于题目要求小C的游动是不耗时的,因此我们可以直接通过比较方格高度来判断是否可以从一个方格游向另一个方格。同时,由于题目要求输出最少等待时间,因此我们需要记录已经访问过的方格,避免重复计算。
创作类型:
原创

本文链接:泳池 小C在一个排水系统不太好的学校上学。又是一个下雨天,学校里高低不平积了很多水。小C突发奇想:如

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share