阿里笔试编程题

这篇博客探讨了两个编程题目:一是机器人在仓库中寻找最短路径避开障碍物,考虑了移动速度和转向时间;二是阿里巴巴客服排班问题,解决如何在满足特定约束条件下确保每个客服小组都有人值班的问题,提出了A*算法和2-SAT模板的解决方案。
摘要由CSDN通过智能技术生成

1 在自动化仓库中有若干障碍物,机器人需要从起点出发绕过这些障碍物到终点搬取货柜,现试求机器人从起点运动到终点用时最短的路径。 已知机器人只能沿着东西方向或南北方向移动,移动的速度为1m/s,机器人每转向90度需要花费1s。

 输入: 
第一行:起点位置坐标及机器人朝向,如: 
1 0 EAST
代表机器人初始坐标为x=1,y=0,机器人面朝东方 
第二行:终点位置坐标及机器人朝向,如: 
0 2 WEST
代表机器人需要移动至点x=0,y=2,且面朝西方 
接下来输入的是地图: 
首先是两个数字r,c,代表有地图数据有多少行与多少列,如:
2 3
0 1 0
0 0 0 
其中,左上角为坐标原点,从左向右为x轴增大的方向是东方,从上到下为y轴增大的方向是南方。
地图中1代表有障碍物,机器人不能前往,0代表无障碍物机器人可以前往 地图中相邻的每两个点之间的距离为1m0 <= l,w <= 128 

输出: 
机器人从起点移动到终点所需要的最短秒数,当不可达时输出65535

思路:A*或者双向广度优先,但是要考虑转向时间

2. 阿里巴巴客服管理员管理着n个客服小组,他需要为每一组安排客服24小时值班。为简单起见,假设每组只有2个客服,一天只需要1个客服上班࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值