/ Vijos / 题库 /

藏宝图

藏宝图

时间限制:1秒  内存限制:256M


【题目描述】

  有一张类似迷宫的藏宝图,其中有一些障碍物(从一个无障碍格子可以上下左右走到相邻的无障碍格子中)。手动清除不同的障碍物耗时可能不同。图中的某一点藏有宝藏。有些点不可通过。在边界上有一些入口,有的入口会提供若干个炸药。用炸药清除障碍物和在迷宫中移动则认为不花费时间。一旦从某个入口进入迷宫,则不能再走到任何一个入口。例如下图表示一个迷宫:
说明
  ‘*’ 表示无法通过的点,数字 1..9 表示障碍物以及手动清除该障碍物所需时间。‘.’表示空地。‘$’表示宝藏。‘#’和字母 ‘A’..‘Z’ 都表示入口,‘#’ 表示该入口无炸药提供,字母表示该入口提供的炸药数目。‘A’ 表示一个炸药,‘B’ 表示两个炸药,依次类推。迷宫的边框上只有 ‘#’、‘*’ 和 字母。

  上图如果选择从 ‘#’ 进入迷宫,则不能再走进 ‘A’。此时走到宝藏,则需要 10 个单位时间。如果选择从 ‘A’ 进入迷宫则会提供 1 个炸药,炸掉 9 障碍物不花时间,手动清除 1 花费 1 个单位时间,所以总共只需 1 个单位时间即可。

  目的是求最少所需单位时间到达宝藏。

【输入格式】

  输入一张地图,描述如上。

【输出格式】

  如果能找到宝藏,则输出走到宝藏最少所需时间,否则输出"IMPOSSIBLE"。

【输入输出样例】

 Input

*#******A*
*........*
*9********
*........*
********1*
*$.......*
**********

 Output

1

【数据限制】

  对于 \(100\%\) 的数据,地图的长宽大于等于3,小于等于100。

【来源】

  Mr.he

信息

ID
2061
难度
9
分类
图结构 | 最短路 点击显示
标签
递交数
2
已通过
1
通过率
50%
被复制
4
上传者