/ Vijos / 题库 /

骑士的要求

骑士的要求

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


【问题描述】

  贝西遇到了一件很麻烦的事:她无意中撞入了森林里的一座城堡。如果她想回家,就必须穿过这片由骑士守护着的森林。为了能安全地离开,贝西不得不按照骑士的要求,在森林里寻找特殊的灌木并带一棵给他。当然,贝西想早点离开这可怕的森林,于是她必须尽快完成骑士给她的任务。

  贝西随身带着这片森林的地图,地图上的森林被放入了直角坐标系,并按 \(x,y\) 轴上的单位长度划分成了 \(W×H\) 块。贝西在地图上查出了她自己以及骑士所在的位置,当然地图上也标注了她所需要的灌木生长的区域。某些区域是不能通行的(比如说沼泽地、悬崖、以及食人兔的聚居地)。在没有找到灌木之前,贝西不能通过骑士们所在的那个区域。

  为了确保她自己不会迷路,贝西只向正北、正东、正南、正西四个方向移动(注意,她不会走对角线)。她要走整整一天,才能从某块区域走到与它相邻的那块区域。输入数据保证贝西一定能完成骑士的任务,贝西希望你能帮她计算一下,她最少需要多少天才能脱离这可怕的地方。

【输入格式】

  第一行输入两个用空格分开的整数,即题目中提到的 \(W,H\)。
  接下来输入贝西持有的地图,每一行用若干数字代表地图对应的地形,第1行描述了地图最北的那一排区域,最后一行则描述的是最南面的。相邻数字代表相邻区域。地图上的数字所对应的地形:
    0:代表贝西可以通过的空地
    1:代表不可通行的区域
    2:代表贝西所在位置
    3:骑士们的位置(只有1个)
    4:长着贝西需要的灌木的土地(有多个)

【输出格式】

  输出一个正整数D,即贝西最少要花多少天才能完成骑士们的任务。

【输入输出样例】

 Input

8 4
4 1 0 0 0 0 1 0
0 0 0 1 0 1 0 0
0 2 1 1 3 0 4 0
0 0 0 4 1 1 1 0

 Output

11

【数据限制】

  对于 \(100\%\) 的数据,\(1<=W,H<=1000\)。

【来源】

  Mr.he

信息

ID
1252
难度
3
分类
数据结构 | 队列搜索 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
4
上传者