#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 = 1、conf >= conf_thr、depth_ok = 1、rel_ok = 1 的对象。抓取方案必须属于该目标,且 score、width、reach 均非零,coll = 0。放置点必须 cap > 0、unavailable = 0,且 pscore、preach 均非零。
抓放组合风险为 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