题库首页 › 青少年软件编程(C语言) › 题目 4752

泳池 学校是 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++):泳池(水位可达)。二分时间t+DFS/BFS判断t时刻能否从左上到右下(高度≤t可走),求最小t。样例2→3。核心:二分+可达性。

试卷来源:202109 青少年等级考试C/C++真题五级

本卷相关题目

在线做题 同科目题库