塔子哥在一个 m×n 的崎岖山地上进行比赛,场地的高度和减速值分别由二维数组 h 和 o 记录。塔子哥初始速度为 1,当他从高度为 h1 的位置移动到高度为 h2 的相邻位置时,速度变化为 h1−h2−o2,其中 o2 是目标位置的减速值。任务是计算塔子哥能够到达的速度仍为 1 的位置数量。输入包含场地的大小、塔子哥的初始位置、高度值数组和减速值数组,输出为速度为 1 的位置的个数。
这是一道基于BFS的题目。主要考点为BFS。
这道题要我们找到所有速度为1的终点站的点的数量。那么我们需要知道所有终点站的速度,然后在这些速度中找到为1的点即可。
m∗n 大小的秋名山车神挑战赛的场地由一系列的上坡、下坡组成,场地各点位的高度值记录于二维数组 h 中,由相邻位置到达对应点位的减速值记录于二维数组 o 中;
选手初始速度为 1 ,当选手从高度为 h1 位置到高度为 h2 、减速值为 o2 的相邻位置(上下左右)时,速度变化值为 h1−h2−o2 (>0为加速,<0为减速),速度不会为 0 或者负值,选手可任意方向方式行驶。
请问:选手到哪些位置时速度依旧维持为 1 ,返回位置的个数。
第一行为场地大小,1<=m<=100
第二行为选手初始位置,1<=n<=100
第三为场地短个点位的高度值,0<=场地高度<=100
第四行为每个点位的减速值,0 <= 减速值 <= 100
如输入:
2,2
1,1
5,0 0,6
0,6 7,0
则:
m=2,n=2
初始位置[1,1]
h [0] [0] = 5 ; h [0] [1] = 0 ; h [1] [0] = 0 ; h [1] [1] = 6
o [0] [0] = 0 ; o [0] [1] = 6 ; o [1] [0] = 7 ; o [1] [1] = 0
速度为1的位置的个数
输入
2,2
1,1
5,0,0,6
0,6,7,0
输出
1
说明
场地大小为 2∗2 ,选手从坐标 [1,1] 的位置出发,此位置高度为 6 ,减速值为 0 。
选手到达 [0,1] 处位置时,速度恰好为 1; 速度的变化值为 0 ,初始速度为 1 ,即到达 [0,1] 处位置时,速度恰好为 1
输入
2,2
0,0
0,0 0,0
0,0 0,0
输出
3
说明
场地大小为 2∗2 ,选手从坐标 [0,0] 的位置出发,此位置高度为 0 ,减速值为 0 ,选手到达 [0,1],[1,3],[1,0],[1,1] 三处位置时,速度恰好为 1 。