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