为喜迎双十一,某快递公司欲购入一批新的机器人来管理仓库。经过工程师的研究发现,机器人分为四个组件:底座,机械臂,电池,发动机。
这四个组件分别负责不同的工作:
底座 提供固定其他器材的位置,可最多装载 9 个机械臂,9 个电池,9 个发动机。每个机器人只包含一个底座。
机械臂 提供抓取货物的功能,每个机械臂一次能拿去 2kg 货物。
电池 为机器人提供动力,每个电池供电 3分钟 供电能力。
发动机 为机器人提供动力,每个发动机提供 3 点动力值。
此外,这四个组件各有一定的质量:
组件 | 质量 | 组件 | 质量 |
---|---|---|---|
底座 | 2kg / 个 | 机械臂 | 1 kg/个 |
发动机 | 1kg / 个 | 电池 | 0.5 kg/个 |
机器人拿取货物货物需要 2分钟,货物距离机器人的距离为 10。请问怎样配置机器人才能让机器人最快的拿完 20kg 的货物。(特别强调:机器人每次必须所有机械臂拿完货物之后才可以返回,不存在总货物被拿完的情况。)
- 底座 2kg,各种器材最多装 9 个
- 机械臂 1kg/个,每个一次拿 2kg 货物
- 电池 0.5kg/个,每个供电 3分钟
- 发动机 1kg/个,每个提供 3 点动力值
- 速度 = 动力值 - 质量 * 0.5
- 拿取货物需要 2分钟
- 怎么配置机器人,能够最快拿完 20kg 货物,距离 10
- 提交方式 Pull Request
- 需要建立命名为自己名字的文件夹
- 文件夹内存放名为 robot.cpp 的文件
- 文件夹内存放名为 demonstration.md 的文档。该文档以 Markdown 语法编写证明你代码运行结果正确的文档。
- 你可以通过数学方法证明结果正确
- 也可以通过枚举法遍历问题空间
- 若都做不到也可以详细的描述你代码的逻辑
- 注意 Code style,无需过分遵循文章写法,本着有益于阅读的原则就可以了。
- 完整的日志输出
- 列出每次计算时机器人的参数
- 最后输出成绩最佳的机器人
- 项目开始日期:2017年11月16日
- 项目结束日期:2017年11月30日
- 若对题目有问题,可在本仓库提 issue,我会逐一回复。
Testing robot: 4 arm, 4 engine, 4 battery, finished at time:xx
Testing robot: 4 arm, 4 engine, 5 battery, finished at time:xx
Testing robot: 4 arm, 4 engine, 6 battery, finished at time:xx
Testing robot: 4 arm, 5 engine, 4 battery, finished at time:xx
Best robot: 4 arm, 4 engine, 4 battery, finished at time: xx
上面的数字是瞎写的,不代表正确答案