C语言问题求解:寻找一卡通

时间飞逝,岁月如梭,FightAlone慢慢长大了,可是他依旧很粗心。

  这天,他的一卡通又不见了。通过全球定位系统,他发现原来一卡通在RUC内的某个角落。

  但是马上就要上数分课了,他必须尽快取回一卡通,并且赶往上课地点。

  FightAlone找到了擅长编程的你,希望你能够帮他设计一个最佳路线,能够让他取回一卡通,并且尽可能快地赶到上课地点(也就是走最短的路)。

输入格式   

   第一行一个数n,表示地图为n*n的方阵( n<=10);

  接下来n行每行有n个数Aij(0<= Aij <=4),表示地图

  若该数为0,则表示为空地,可以通过。

  若为1,则表示为障碍物,不能通过。

  若为2,则表示FightAlone出发的东风六寝室楼。其本身为可以通过的地点。

  若为3,则表示一卡通遗失的地点。其本身为可以通过的地点。

  若为4,则表示上数分课的地点。其本身为可以通过的地点。

  FightAlone每走一个单位长度需要一个单位时间。

输出格式   

一个整数t,表示找到一卡通并赶到上课地点所需要的时间。

输入样例

5

2 0 0 1 1

1 1 0 1 1

0 0 3 0 1

0 1 1 0 1

4 0 0 0 0

输出样例

8

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。