首页 / 题库

P15005 - 汽车训练(car)

算法入门
通过次数0 提交次数0 内存限制 512MB 时间限制1秒

描述

小王最近编程能力得到了飞速提升,他为自己的智能汽车编写了程序。他需要训练智能汽车让它按照指定要求移动。小王把智能汽车放在一个$ N \times M$的网格里并且他随机在格子的某些位置放置上不可以移动的障碍物。<br>
小王把智能汽车放在网格中心的格点上,他现在要训练智能汽车让求花最少时间到达指定位置。<br>
智能汽车本身也有自己的直径,所以有障碍物的格子的四个格点智能汽车都不能到达。<br>
智能汽车有固定可执行的指令,每个指令所需要的执行时间为1秒。可以执行的指令如下:<br>
向正前方行走1步(Step1);<br>
向正前方行走2步(Step2);<br>
向正前方行走3步(Step3);<br>
向左转(Left);<br>
向右转(Right)。<br>
智能汽车要保证整个都在网格里才能执行程序,请你帮忙计算一下智能汽车完成任务所需的最少时间。

输入

从文件 car.in 中读入数据。<br>
第一行为两个正整数$ N,M(1 ≤ N, M ≤ 1000)$,表示网格的大小。<br>
接下来$N$行$M$列是网格的具体情况,0表示无障碍,1表示有障碍。<br>
接下来有一行4个整数$x_1,y_1,x_2,y_2$和1个大写字母,分别为起始点$(x_1,y_1)$和目标点$(x_2,y_2)$的左上角网格的行与列。大写字母表示起始时的面对方向(东:E,南:S,西:W,北:N)。<br>
数与数,数与字母之间均用一个空格隔开。<br>
注意:终点的面向方向是任意的,没有要求。

输出

输出到文件 car.out 中。<br>
一个整数,表示智能汽车完成任务所需的最少时间。如果无法到达,则输出−1。

样例

提示

【样例1解释】<br>
如下图所示,白色为无障碍,黑色为有障碍。时间最少路线为下图染色那一条,每个颜色段花一秒,共七秒。另外,途中共有五次转向,共五秒。总时间:7+5=12秒。<br>

$5 \leq N,M \leq 10^3$

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36