塔子哥在一个 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 ?请你求出这些位置的个数是多少。
输入第一行为场地大小 m,n(1 ≤ m ≤ 100 ,1 ≤ n ≤ 100)
输入第二行为选手初始位置 输入第三行为场地每个点位的高度值h[i][j],场地高度的范围为 [0,100] 输入第四行为每个点位的减速值o[i][j],减速值的范围在 [0,100]
输出速度为 1 的位置的个数
输入
2,2
1,1
5,0 0,6
0,6 7,0
输出
1
解释:
第一行为场地大小为 2∗2;
第二行为小明的初始位置坐标;
第三行分别代表 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][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,0] , [1,1]三处位置时,速度恰好为1。