赞
踩
问题描述
冬木市西边的园藏山是著名的旅游圣地。从空中俯瞰,园藏山可以看成一个 n * m 的矩阵,我们把行从上往下按 1 到 n 编号,
把列从左往右按 1 到 m 编号,那么(i, j)就表示矩阵第 i 行第 j 列的位置。我们用ℎi,j , 表示位置(i, j)的海拔高度。
初始时,Saber 在(sx, sy)这个位置,她想前往更高的地方。每一次她可以选择向上、下、左、右其中一个方向走,但不能走出这个矩阵;同时,作为大不列颠的王,孤傲的 Saber 不愿意走到比她当前所在的位置海拔要低的位置,也就是说在移动的过程中,每一步她都只能向海拔不低于她当前所在的位置的那些位置移动。请你帮忙计算出她所能走到的最高高度。
输入格式:
第一行数据为n和m;第二行数据为当前所在的位置i,j;接下来的n行和m列为海拔矩阵
输出格式:
输出最高海拔
问题分析
第一步,当从原始点出发,分别往上、下、左、右方向走一步,然后判断当前的位置是否越界和是否是比原位置大;
第二步,如果该点为越界且比原始位置海拔高,则把该点当做新的原点,重新寻找最高海拔;直到四个方向均已达到停止条件;
第三部,从四个方向的海拔中选择一个最高的作为最高海拔。
python代码
- n, m = [int(x) for x in raw_input().split()]
- sx, sy =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。