欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
WAC585.舞蹈对决
舞蹈对决
你的团队即将在舞蹈大战中证明自己!
最初,你的团队有 点能量和零点荣誉。
你的团队必须对抗一个由 个舞蹈队组成的挑战阵容;在这个阵容中排在第 个出场的队伍的舞蹈技巧值为 。
在每一轮战斗中,你都将按顺序面对下一个出场的对手团队,你可以采取以下行动之一:
- 舞蹈:你的团队将失去与对手团队的舞蹈技巧值相等的能量,该团队离开挑战阵容。你将因此获得一点荣誉值。如果对手团队的舞蹈技巧值大于或等于你目前的能量值,你就不能采取这个行动。
- 延迟:你找借口推迟比赛,而对手团队则回到挑战阵容的后面。你的能量和荣誉不会改变。
- 休战:你宣布与对手团队休战,该团队离开挑战阵容。你的能量和荣誉不会改变。
- 招募:你招募对手团队到你的团队中,该团队离开挑战阵容。你的团队获得与对手团队的舞蹈技巧值相等的能量点,同时你需要扣除一点荣誉。如果这会使你的荣誉值降到 以下,你就不能采取这个行动。
当挑战阵容中没有对手团队时,对决就结束了。
如果你做出最佳决策,对决结束后你可以获得的最大荣誉值是多少?
输入格式
第一行包含整数 ,表示共有 组测试数据。
每组数据包含两行,第一行包含两个整数 和 ,分别表示你的初始能量点和挑战团队数量。
第二行包含 个整数 ,其中第 个数表示第 个出场的对手团队的舞蹈技巧值。
输出格式
每组数据输出一个结果,每个结果占一行。
结果表示为 Case #x: y,其中 是组别编号(从 开始), 是战斗结束时可以获得的最大荣誉值。
数据范围
,
,
,
样例解释
在样例#1中,只有一个对手团队。 你不能与他们跳舞,因为这会使你的能量下降到 ,你也不能招募他们因为这会使你的荣誉低于 ,延迟没有意义,所以唯一的选择是宣布休战,并以 荣誉值结束。
在样例#2中,一个最佳策略是:
- 延迟与第一个对手的对抗。 他们走到了阵容的后面。
- 与第二个对手对战。 你的能量降到 ,你的荣誉增加到 。
- 招募第三个对手。 你的能量增加到 ,你的荣誉减少到 。
- 与第一个对手对抗。 你的能量降到 ,你的荣誉增加到 。
你以 点荣誉值结束。
Samples
2
100 1
100
10 3
20 3 15
Case #1: 0
Case #2: 1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |