PID330 / LIFE的寻宝之旅
题目描述

有一天 LIFE 无意之间进入了一个世外桃源,碰到了Keke大仙。Keke大仙看LIFE平时好好编程,天天向上,不觉大悦。于是乎,Keke大仙决定给LIFE一个奖励——RP暴涨。

LIFE自然是不会放弃这个天上掉下的馅饼的。

LIFE很胖先近似是一个直径1.6米的球。(^ - ^有一点点夸张)。Keke大仙将LIFE置身于一个迷宫中。迷宫是一个N*M的网格,有些格子为不可移动的山石。LIFE的脚总是在格点上,并且LIFE在走的时候要避免自己被锐利的山石滑伤。当然,他要在最短的时间内到达藏宝的地方,免得鸭子飞了。

如下图,红线为LIFE的路径。

LIFE可以在1秒的时间内进行下面的动作(毕竟他有点胖^-^)

向前移动1步;

向前移动2步;

向前移动3步;

向左转;

向右转。

请你计算一下LIFE拿到宝藏所需的最少时间。

输入格式

输入的第一行为两个正整数N,M(N,M<=50),下面N行是迷宫的构造,0表示通道,1表示有山石,数字之间用一个空格隔开,每一个数代表边长1米的方格。

接着一行有四个整数和一个大写字母,分别为起始点和宝藏点的行与列,起始时的面对方向(东E,南S,西W,北N)

数与数,数与字母之间均用一个空格隔开。

可以将下面的样例与上面的图进行对应

输出格式

一个整数,表示LIFE拿到宝藏所需的最少时间。如果无法到达,输出-1。

样例输入
样例输出
提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论