快餐公司坐落于一个矩形小区内,小区由若干小方格组成,每个方格内,或者是写字楼,或者是景观地貌。快餐公司只有两个送货员,他们每天中午都要在小区内往返送披萨送给写字楼客户,每人每次只能送一幢写字楼。送货员发现,每次从一个方格到另一个方格,会消耗时间如下:如果相邻方格内都是景观地貌,高度差为0则花1分钟,高度差为1则花3分钟,其他高度差则无法通过;如果有一个方格是写字楼,则花2分钟(快餐公司也坐落在某写字楼内),请为送货员设计最佳的送货流程,返回最后一份披萨送达客户的最快时间;如果无法完成任务,则返回-1。

示例:小区示意图由字符串数组构成,第i行第j列字母表示对应方格内的布局,如果字符为数字,则表示高度;如果为X,则表示快餐公司所在写字楼;如果为$,则表示需要送达披萨的写字楼。如:

"3442211",

"34$221X",

"3442211"

则最后一个披萨最短送达时间为8分钟,依次消耗时间2+3+1+2。

看完题目觉得有点复杂,涉及最佳路径选择问题,类似一个最短路径问题,快餐公司X为源点,其他写字楼$为终点,相邻方格(有相邻边的两个方格)是一条带权的边。单源最短路径,通过Dijkstra可以方式,用方格坐标(x,y)表示图的节点表示,虽然不太直观,但是没想到其他更好的方法。解决了路径问题,获得了每个目标方格的最短耗时后,还需要解决一个最优送货安排

PizzaDelivery相关推荐

  1. 代码坏味道之非必要的

    :notebook: 本文已归档到:「blog」 翻译自:https://sourcemaking.com/refactoring/smells/dispensables 非必要的(Dispensab ...

最新文章

  1. python 顺序栈及基本操作
  2. 千难万险 —— goroutine 从生到死(六)
  3. three20 TTTableViewController + TTActionSheetController
  4. 大学期末考java编程题_大学java期末考试考试题和答案
  5. 什么是倾斜45度的火山图?
  6. java va start_va_start和va_end使用详解
  7. ios Class类型使用
  8. SHELL常见的系统变量解析
  9. C语言应该增加交换值的关键字或语法
  10. Chapter4.5:根轨迹法考研参考题
  11. 恩尼格码机的原理以及破解方法
  12. java目标和规划_java个人职业发展目标规划书(2)
  13. android 在线获取音乐歌词lrc文件
  14. 技师学院计算机老师,技师学院计算机工程系组织开展观摩课活动
  15. 笔记本cmd重启计算机的代码,怎么让电脑不断重启(用cmd实现)
  16. 大数据系列 之 学习准备
  17. Ubuntu18.04 qt5.14安装
  18. golang gopher-lua 遍历table元素
  19. element-UI中使用树组件el-tree实现左侧勾选右侧列表展示并且列表删除某一项左侧树菜单取消相应勾选
  20. 基于ssm的大学校园兼职平台系统

热门文章

  1. 请确保此代码文件中定义的类与“inherits”特性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。
  2. 湖南省第十四届“嘉杰杯”大学生计算机程序设计大赛 总结
  3. 简易BadUSB,攻击效果不简单
  4. “狼人杀”如何获得上亿用户?来硅谷创业派对就知道了!
  5. YYModel 源码分析:字典转模型
  6. 洛伦茨曲线半高全宽_关于MatLab如何取某变函数半高全宽(FWHM)并Plot的问题
  7. oracle ecc 是什么意思,使用ECC的身份混合签密方案
  8. VRDC2017: Eagle Flight Technical Postmortem
  9. 《乌合之众》思维导图及优秀读后感
  10. 2020安徽省大学生程序设计大赛题解——J 飞奔的战士