#AEAI07004. 多约束抓取方案与替代操作选择
多约束抓取方案与替代操作选择
题目描述
真实抓取任务里,最直观的抓法不一定能执行:风险、资源、姿态或替代动作都可能改变最终方案。具身智能部把这一过程抽象成一个带状态转移的替代操作选择问题。
你需要先过滤不满足风险和资源约束的方案,再在替代操作状态图上寻找最小总代价路径。若存在多个可行路径,必须按题面规定的代价、步数和编号顺序稳定输出。
不要把不可达状态当作普通高代价状态;无可行替代操作时应进入安全停止分支。
输入格式
第一行输入初始执行状态六元组:
vis tool pose energy risk retry
第二行输入:
max_risk min_energy max_retry
接下来输入动作数 A。随后 A 行,每行:
aid pre_vis pre_tool pre_pose need_energy arisk dvis dtool dpose denergy drisk inc_retry acost success terminal
前置字段为 -1 表示不限制;更新字段为 -1 表示保持原值。
输出格式
若存在成功方案,输出:
SUCCESS len aid... final_tool cost risk
若不存在可行替代操作序列,输出:
SAFE_STOP
判定规则
从初始状态出发搜索动作序列。动作必须满足所有非 -1 前置条件,且 energy >= need_energy、当前 risk <= arisk、执行后 retry <= max_retry、energy >= min_energy、risk <= max_risk。动作代价累加 acost。
遇到 success = 1 的动作即形成候选答案。候选按最终风险小、重试次数小、总代价小、动作数少、动作编号序列字典序小选择。
数据范围与测试提示
- 所有编号均按题面说明使用 1-based;字符串枚举按输入原样比较。
- 正式测试会覆盖安全停止、无可行分支、阈值等号、并列比较和恢复失败等边界情况。
- 输出只包含题目要求的字段,不要输出调试信息。
样例
输入样例 1
0 0 0 10 1 0
5 1 2
2
1 0 -1 -1 1 5 1 -1 -1 1 0 0 1 0 0
2 1 -1 -1 1 5 -1 1 -1 1 1 1 2 1 1
输出样例 1
SUCCESS 2 1 2 1 3 2
输入样例 2
0 0 0 1 5 0
5 1 1
1
1 0 -1 -1 2 5 1 -1 -1 2 0 0 1 1 1
输出样例 2
SAFE_STOP