#AEAI07006. 抓取-搬运-放置-验证恢复闭环

抓取-搬运-放置-验证恢复闭环

题目描述

抓取、搬运、放置和验证构成了具身执行的闭环。具身智能部在调试这类流程时,最关心的是失败后能否按规则重选,而不是让程序凭感觉继续执行。

输入已经把目标确认、抓取方案、放置点和验证结果离散化。你需要筛选抓放组合,模拟一次执行闭环,并在失败后按题面规则选择恢复方案或安全停止。

请特别注意验证失败后的候选移除、组合排序、状态输出字段以及无解时的 SAFE_STOP

输入格式

第一行输入:

N conf_thr max_risk max_retry

接下来 N 行候选目标:

oid match conf depth_ok rel_ok

随后输入抓取方案数 G,再输入 G 行:

gid oid score width reach coll risk cost

然后输入放置点数量 P,再输入 P 行:

pid cap tol pscore preach prisk pcost unavailable

输出格式

若闭环执行成功,输出:

SUCCESS oid gid pid ACTIONS 1 2 3 4 5 6 cost risk retry

若没有目标、抓取方案或放置点组合可执行,输出 SAFE_STOP

判定规则

目标按输入顺序选择第一个满足 match = 1conf >= conf_thrdepth_ok = 1rel_ok = 1 的对象。抓取方案必须属于该目标,且 scorewidthreach 均非零,coll = 0。放置点必须 cap > 0unavailable = 0,且 pscorepreach 均非零。

抓放组合风险为 risk + prisk,必须不超过 max_risk。组合按总风险小、总代价小、抓取编号小、放置编号小选择。若初选抓取编号为负且 max_retry > 0,视作一次失败恢复,移除该抓取编号后重选一次。

数据范围与测试提示

  • 所有编号均按题面说明使用 1-based;字符串枚举按输入原样比较。
  • 正式测试会覆盖安全停止、无可行分支、阈值等号、并列比较和恢复失败等边界情况。
  • 输出只包含题目要求的字段,不要输出调试信息。

样例

输入样例 1

1 60 5 1
1 1 80 1 1
1
1 1 90 1 1 0 2 3
1
1 1 1 90 1 1 2 0

输出样例 1

SUCCESS 1 1 1 ACTIONS 1 2 3 4 5 6 5 3 0

输入样例 2

1 60 5 1
1 0 80 1 1
1
1 1 90 1 1 0 2 3
1
1 1 1 90 1 1 2 0

输出样例 2

SAFE_STOP