站外题目求助(DFS/BFS)
  • 板块题目总版
  • 楼主DoubleQLzn
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/3 11:49
  • 上次更新2024/3/3 14:31:24
查看原帖
站外题目求助(DFS/BFS)
953149
DoubleQLzn楼主2024/3/3 11:49

搬运机器人 1.0s 256MB 题目描述 好学的拓拓最近迷上了机器人编程,现在他正尝试让机器人搬运物品。机器人的形状是一个直径 1.6 1.6米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个 � × � N×M 的网格(每个网格长宽均为 1 1 米),有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。机器人接受的指令有:

向前移动 1 1步(Creep) 向前移动2步(Walk) 向前移动 3 3 步(Run) 向左转(Left) 向右转(Right) 拿起物品(PickUp) 放下物品(LayDown) 每个指令所需要的时间为 1 1 秒。

拓拓已经在机器人的代码里输入了储藏室的尺寸和障碍物信息,请你计算一下机器人完成搬运任务所需的最少时间。

输入格式 第一行为两个正整数N,M,下面N行是储藏室的构造,0表示无障碍,1表示有障碍,数字之间用一个空格隔开。

接着一行有4个整数和1个大写字母,分别为起始时机器人所在的位置和目标点位置左上角网格的行与列,起始时的面对方向(东E,南S,西W,北N),数与数,数与字母之间均用一个空格隔开。

终点的面向方向是任意的。初始时机器人所在位置就是物品位置,且机器人没有拿起物品。

输出格式 一个整数,表示机器人完成任务所需的最少时间。如果无法到达,输出 − 1 −1。

样例 #1 输入数据#1

9 10
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1 0
7 2 2 7 S

输出数据#1

14

解释#1 拿起物品 右转 直行 1 步 右转 直行 3 步 直行 3步 右转 直行 2步 直行 2 步 右转 直行 1 步 左转 直行2步 放下物品

2024/3/3 11:49
加载中...