登录 / 注册
🤖

小车建造得分(算法演示)

能量约束下收集木材钢材、完成建造任务最大化得分,贪心策略与动态规划双算法对比,三维动画逐步回放执行过程

自定义题目:切到「自定义」标签后用画笔编辑 12×12 棋盘
选择算法后点击「求解并演示」开始
题目一 · 能量 37
运行状态
能量
37
木材0
钢材0
得分0
算法与演示
寻路算法
求解后显示寻路统计:展开节点 / 耗时 / 平均代价
速度 1x
算法对比
点击「求解并演示」后显示两种算法的得分对比
执行日志
等待求解...

极速高效

秒级响应,即输即出,无需等待

安全可靠

内容安全传输,处理完成即清,不留存隐私数据

永久免费

无广告、无注册、无次数限制,畅用全部功能

工具介绍

「小车建造得分」是一个能量约束下的路径规划与资源调度算法演示:小车从带朝向的起点出发,每次移动、转弯、采集、建造都会消耗能量,需要在总能量限制内收集木材与钢材、到达建造点完成尽可能多的建造任务以获得最高分。页面内置三个局面,使用贪心策略与动态规划两种算法自动求解,并通过三维动画逐步回放执行过程。

功能特点

路径规划 贪心算法 动态规划 背包问题 算法演示 能量约束

常见问题

游戏规则是什么?

小车从带朝向的起点出发,移动一格耗1能量、转弯一次耗1能量;途经木材/钢材格会自动采集,每次采集同样消耗1能量;到达建造点且背包材料足够时自动建造,建造另耗1~3点能量并获得对应分数。红色石头为障碍不可通行。目标是在能量耗尽前获得最高分。

三个建造任务有什么区别?

仓库 +30分(需木材1、钢材1、建造耗能1);居住仓 +40分(需木材2、钢材0、建造耗能2);指挥部 +50分(需木材2、钢材2、建造耗能3)。每个建造点只能建造一次;同一类型有多个建造点时,每个建造点都可分别建造。

可以手动规划路径吗?

可以。点击「手动标记」后在棋盘上按住拖动即可逐格绘制路径,松开后自动按规则模拟;点「运行」回放,点「导出结果」把路径、动作序列、能量与得分保存为 JSON 文件。

贪心策略是怎么求解的?

每次选择「得分/预计消耗能量」比值最高的可完成任务:先规划收集所缺材料的最短路径,再前往最近的建造点完成建造,循环直到没有可完成的任务。贪心速度快但不保证全局最优。

动态规划是怎么求解的?

把任务选择建模为0-1背包:枚举三个任务的全部非空子集,先校验材料总量,再枚举任务执行顺序,用最短路规划路径并模拟能量消耗,取可行方案中得分最高(同分取剩余能量多)的方案。

路径是怎么规划的?

使用对「位置+朝向」状态空间的最短路搜索(每次前进或转弯代价均为1),保证在转弯也算能耗的规则下找到能量最优路径。

地图数据可以修改吗?

可以。切换到「自定义」标签后,用画笔在 12×12 网格上点击或拖动放置木材、钢材、石碓与三种建筑,并设置起点位置、朝向和能量;编辑结果实时应用到三维演示。配置支持「导出配置」保存为 JSON 文件,也支持「导入配置」载入之前导出的 JSON,方便校对与分享。