#P10988. [蓝桥杯 2023 国 Python A] 走方格

    ID: 10451 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>2023广度优先搜索,BFS蓝桥杯国赛

[蓝桥杯 2023 国 Python A] 走方格

题目描述

给定一个 NNNN 列的方格,第 ii 行第 jj 列的方格坐标为 (i,j)(i, j),高度为 Hi,jH_{i,j}。小蓝从左上角坐标 (0,0)(0, 0) 出发,目的地是右下角坐标 (N1,N1)(N − 1, N − 1)。 当小蓝位于第 rr 行第 cc 列时,他有如下的移动方式:

  1. r+1<Nr + 1 < N,可以移动到 (r+1,c)(r + 1, c),花费 11 秒;
  2. c+1<Nc + 1 < N,可以移动到 (r,c+1)(r, c + 1),花费 11 秒;
  3. 对于任意整数 LL,若 Hr,c>Hr,c+1>>Hr,c+LH_{r,c} > H_{r,c+1} > \cdots > H_{r,c+L},可以移动到 (r,c+L)(r, c + L),花费 11 秒;
  4. 对于任意整数 LL,若 Hr,c>Hr,c1>>Hr,cLH_{r,c} > H_{r,c−1} > \cdots > H_{r,c−L},可以移动到 (r,cL)(r, c − L),花费 11 秒。

现在给出方格,请问小蓝从 (0,0)(0, 0) 移动到 (N1,N1)(N − 1, N − 1) 最少需要多少秒?

输入格式

输入的第一行包含一个整数 NN 表示方格大小。 接下来 NN 行,每行包含 NN 个整数,表示每个方格上的数字。

输出格式

输出一个整数表示答案。

4
0 1 9 3
2 9 3 7
8 4 8 9
9 8 0 7

5

提示

对于 20%20\% 的评测用例,1N101 \le N \le 10

对于 50%50\% 的评测用例,1N1001 \le N \le 100

对于所有评测用例,1N1000,0Hi,j1001 \le N \le 1000,0 \le H_{i, j} \le 100

样例解释

移动顺序为:$(0, 0)\rightarrow (1, 0)\rightarrow(2, 0)\rightarrow(3, 0)\rightarrow(3, 2)\rightarrow(3, 3)$,其中坐标 (3,0),(3,1),(3,2)(3, 0),(3, 1),(3, 2) 处的数字分别为 9>8>09 > 8 > 0,所以可以花费 11 秒从 (3,0)(3, 0) 移动到 (3,2)(3, 2)