A93900.Alice的奇妙爬山之旅

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在一个 n×mn\times m 的网格上,每个格子要么是障碍,要么是可通行并附有一个高度 hi,jh_{i,j}。你从起点 SS 走到终点 TT

  • 每一步只能向上下左右 44 个方向移动;
  • 只能在网格内非障碍的格子间移动。

当你从格子 uu 移动到相邻格子 vv 时,这条边的难度定义为

diff(u,v)=huhv.\mathrm{diff}(u,v)=\lvert h_u-h_v\rvert.

你有 KK硬跨机会:最多选择 KK 条经过的边,将这几条边的难度视为 00。你的目标是使整条路径上最大的一条边难度尽可能小。

请输出在最优策略下,路径上“最大边难度”的最小可能值。
SS 无法到达 TT(被障碍隔开),输出 1-1

输入格式

第一行包含三个整数 n,m,Kn,m,K
接下来 nn 行,每行一个长度为 mm 的字符串,表示障碍网格:# 表示障碍、. 表示可通行。
再接下来 nn 行,每行包含 mm 个整数,表示高度 hi,jh_{i,j}(对障碍格给出的高度忽略)。
最后一行包含四个整数 sx,sy,tx,tysx,sy,tx,ty,表示起点 (sx,sy)(sx,sy) 与终点 (tx,ty)(tx,ty)行列坐标(均为 11 下标)。
保证(sx,sy)(sx,sy)(tx,ty)(tx,ty) 均为可通行格(对应为 .)。

输出格式

输出一个整数,表示最小化后的最大边难度。若 SS 无法到达 TT,输出 1-1

输入输出样例

  • 输入#1

    3 4 1
    ..#.
    ..#.
    ....
    1 2 3 4
    2 3 4 5
    3 4 100 6
    1 1 3 4

    输出#1

    94
  • 输入#2

    3 3 0
    ...
    .#.
    ...
    1 10 1
    10 100 10
    1 10 1
    1 1 3 3

    输出#2

    9

说明/提示

测试点 n×mn\times m KK 范围 HijH_{ij}
131\sim 3 300×300600×600300\times 300 \sim 600\times 600 1nm1\sim n\cdot m 108Hij108-10^8 \le H_{ij} \le 10^8
454\sim 5 400×400800×800400\times 400 \sim 800\times 800 1nm1\sim n\cdot m 108Hij108-10^8 \le H_{ij} \le 10^8
6206\sim 20 600×8001000×1000600\times 800 \sim 1000\times 1000 1nm1\sim n\cdot m 108Hij108-10^8 \le H_{ij} \le 10^8
首页