#AEAI07003. 预算约束下的遮挡目标主动搜索
预算约束下的遮挡目标主动搜索
题目描述
遮挡目标搜索是具身智能部常见的主动感知训练:机器人不能盲目跑完整个场地,而要在预算内选择观察点,并保证最后仍能安全返航。本题要求你为这类搜索任务枚举可行观察序列。
输入给出观察点收益、移动代价和返航约束。你需要在访问数量、预算和安全余量之间做权衡,找出题面定义下最优的访问序列;若没有可行搜索计划,则输出安全停止结果。
请特别注意预算等号、返航保证、访问序列的字典序比较和 SAFE_STOP 分支。
输入格式
第一行输入六个整数:
init_conf conf_thr max_obs max_risk battery return_reserve
接下来输入观察点数量 M。随后 M 行,每行:
pid gain visible depth_ok can_exec obs_cost risk_gain
最后输入一个 (M + 1) x (M + 1) 的距离矩阵 dist。编号 0 表示起点,其余编号按观察点输入顺序对应。
输出格式
若找到可行搜索序列,输出:
SUCCESS len seq... last_id move_cost obs_cost risk
若无可行搜索计划,输出 NO_FEASIBLE_TARGET。若初始电量连保留返航要求都不满足,输出 SAFE_STOP。
判定规则
最多访问 max_obs 个互不重复观察点。沿访问序列累加移动代价、观察代价和风险;任一前缀若 risk > max_risk,或 move_cost + obs_cost + return_dist + return_reserve > battery,该序列不可行。
只有 visible = 1 且 depth_ok = 1 的观察点会增加置信度 gain。序列最终必须满足 confidence >= conf_thr,且最后一次有效观察点 can_exec = 1。在所有可行序列中,依次选择风险更小、总代价更小、访问点更少、访问序列字典序更小者。
数据范围与测试提示
- 所有编号均按题面说明使用 1-based;字符串枚举按输入原样比较。
- 正式测试会覆盖安全停止、无可行分支、阈值等号、并列比较和恢复失败等边界情况。
- 输出只包含题目要求的字段,不要输出调试信息。
样例
输入样例 1
30 70 2 5 20 2
2
1 50 1 1 1 2 1
2 20 1 1 1 1 1
0 3 4
3 0 2
4 2 0
输出样例 1
SUCCESS 1 1 1 3 2 1
输入样例 2
10 90 1 5 20 2
1
1 20 1 1 1 2 1
0 3
3 0
输出样例 2
NO_FEASIBLE_TARGET