#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 = 1depth_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