#AEAI04015. 风险地图最小代价导航
风险地图最小代价导航
题目描述
移动平台在风险地图上导航时,进入每个格子都会产生基础代价和风险代价。给出地图、基础代价矩阵、风险矩阵、风险权重和预算,请计算从起点到终点的最小代价。
从一个格子移动到相邻四方向格子时,新增代价为目标格子的 base + risk_w * risk。起点自身不产生代价。若多条路径总代价相同,选择步数更少的路径。
输入格式
第一行输入地图尺寸 H W。
第二行输入 risk_w budget。
接下来 H 行输入地图,. 表示可通行,# 表示障碍。
接下来 H 行,每行 W 个数,表示基础代价矩阵 base。
接下来 H 行,每行 W 个数,表示风险矩阵 risk。
最后一行输入 sr sc tr tc,表示起点和终点的 1-based 行列坐标。
输出格式
若终点不可达,输出 UNREACHABLE。
若可达且最小代价不超过预算,输出:
EXECUTABLE cost steps
若可达但超过预算,输出:
OVER_BUDGET cost steps
其中 cost 保留 6 位小数。
判定规则
使用标准输出比较。路径只允许四方向移动。起点若不是障碍则初始代价为 0;终点最小代价与预算比较包含边界。
数据范围与测试提示
- 正式测试会覆盖样例没有出现的边界输入,请不要依赖样例规模或样例顺序写特判。
- 输出只包含题目要求的字段,不要输出调试信息;浮点结果按题面要求保留 6 位小数。
- 风险地图可能包含障碍、起点等于终点、预算刚好用尽等极限情况。
- 只允许四方向移动;终点最小代价与预算比较包含边界,代价相同时按题面规则稳定选择。
- 起点代价为 0,不计入起点格代价;终点代价等于预算仍输出可执行。
样例
输入样例 1
2 3
2 10
...
...
1 1 1
1 1 1
0 1 0
0 2 0
1 1 2 3
输出样例 1
EXECUTABLE 5.000000 3
输入样例 2
2 2
1 10
.#
#.
1 1
1 1
0 0
0 0
1 1 2 2
输出样例 2
UNREACHABLE