#P1528. 2023.12.20-秋招-第二题-通话不中断的最短路径

2023.12.20-秋招-第二题-通话不中断的最短路径

题目描述

在游戏世界中,给定一个 MM * NN 的网格,其中每个单元格都填有数字,数字大小表示覆盖能量强度。灰色网格代表禁地,橙色网格代表能量覆盖区域,绿色网格代表生命之树,绿色网格内数字大小表示该生命之树散发的能量的初始强度。 已知每个网格内的能量强度每向外(上下左右)传播一格,能量强度减 11,最小减为 00

表示无信号,如下图示。当某个位置可以同时接收到多棵生命之树的能量时,取其中接收能量强度的最大值作为该位置的能量强度,对于给定网格,请判断是否存在一条路径,使得从左上角移动到右下角过程中能量不中断,只能上下左右移动。假设接吸收的能量强度低于门限 ThTh ,能量就会中断。

注意:出发点固定在网格的左上角,终点是网格的右下角。

输入

第一行输入能量强度 ThTh 。( 1Th1001 \le Th \le 100 )

第二行输入矩阵 MMNN 。(1M1001N1001 \le M \le 100,1\le N \le100)

第三行输入生命之树的个数 KK。 (1K1001 \le K \le 100)

后续 KK 行输入生命之树的位置及初始能量强度。(前两个值表示生命之树所在行、列索引,第 33 个值表示生命之树初始能量强度)

输出

返回信号不中断的最短路径,不存在返回 00

样例1

输入

1
4 4
2
0 1 2
3 2 3

输出

6

说明

  1. 能量强度门限 ThTh = 11

  2. MM = 44,NN = 44

  3. 44 * 44 网格中一共包含 22 棵生命之树

  4. 22 棵生命之树的位置,其中第 11 个生命之树在第 00 行第 11 列、初始能量强度 = 22 ;第 22 棵生命之树在第 33 行第 22 列、初始能量强度 = 33

image.pngimage

样例2

输入

1
5 5
5
0 1 2
0 4 3
2 3 2
4 0 3
4 3 2

输出

8

说明

  1. 能量强度门限 ThTh = 11
  2. MM = 55 , NN = 55
  3. 55 * 55 网格中一共包含 55 棵生命之树
  4. 55 棵生命之树的位置,其中第 11 棵生命之树在第 00 行第 11 列、初始能量强度 = 22:第 22 棵生命之树在第 00 行第 44列、初始能量强度 =33;第 33 棵生命之树在第 22 行第 33 列、初始能量强度 = 22 ;第 44 棵生命之树在第 44 行第 00 列 、初始能量强度 33 ;第 55 棵生命之树在第 44 行第 33 列、初始能量强度= 22;

image.pngimage

注:如上Grid ,绿色表示生命之树,橙色为生命之树散发的能量往外传播后覆盖的区域,按照途中箭头方向移动路径最短。