#P13164. [GCJ 2017 #1A] Play the Dragon
[GCJ 2017 #1A] Play the Dragon
Description
你是一条友善的龙,正在与一名贪婪的骑士战斗,以保护你的巢穴!你拥有 点生命值和 点攻击力,骑士拥有 点生命值和 点攻击力。如果你的生命值在任何时刻降至 或以下,你会被击倒并立即失败;如果骑士的生命值在任何时刻降至 或以下,骑士会被击倒,你获得胜利!
你将与骑士进行一系列回合的战斗。在每个回合中,你先行动,可以选择并执行以下任意一个动作:
- 攻击(Attack):使对方的生命值减少你当前的攻击力。
- 增益(Buff):你的攻击力永久增加 。
- 治疗(Cure):你的生命值恢复为 。
- 减益(Debuff):对方的攻击力永久减少 。如果减益会使对方攻击力降至 以下,则将其设为 。
然后,如果你的动作后骑士的生命值仍大于 ,骑士会执行一次攻击动作。之后本回合结束。(注意,如果你在本回合击败了骑士,虽然骑士不会再行动,但该回合仍然计入总回合数。)
注意,增益和减益效果可以叠加;每次增益会额外增加 攻击力,每次减益会额外减少 攻击力。
你希望尽快击败骑士(如果可能的话),这样你就不会错过今晚村民们烤棉花糖的节日了。你能否判断出击败骑士所需的最少回合数,或者判断是否不可能击败骑士?
Input Format
输入的第一行包含一个整数 ,表示测试用例的数量。接下来有 组测试用例。每组测试用例占一行,包含六个整数 、、、、 和 ,含义如上所述。
Output Format
对于每组测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 1 开始), 是击败骑士所需的最少回合数,或者如果无法击败骑士则输出 IMPOSSIBLE。
4
11 5 16 5 0 0
3 1 3 2 2 0
3 1 3 2 1 0
2 1 5 1 1 1
Case #1: 5
Case #2: 2
Case #3: IMPOSSIBLE
Case #4: 5
Hint
样例解释
在第 1 组样例中,你有 11 点生命值和 5 点攻击力,骑士有 16 点生命值和 5 点攻击力。一种可能的最优行动顺序如下:
- 第 1 回合:攻击,将骑士生命值降至 11。骑士攻击你,你的生命值降至 6。
- 第 2 回合:攻击,将骑士生命值降至 6。骑士攻击你,你的生命值降至 1。
- 第 3 回合:治疗,生命值恢复到 11。骑士攻击你,你的生命值降至 6。(如果你本回合选择攻击,下回合骑士的攻击会让你失败。)
- 第 4 回合:攻击,将骑士生命值降至 1。骑士攻击你,你的生命值降至 1。
- 第 5 回合:攻击,将骑士生命值降至 -4。你立即获胜,骑士不会再攻击。
在第 2 组样例中,一种可能的最优行动顺序如下:
- 第 1 回合:增益,攻击力提升至 3。骑士攻击你,你的生命值降至 1。
- 第 2 回合:攻击,将骑士生命值降至 0。你立即获胜,骑士不会再攻击。
在第 3 组样例中,骑士只需两次攻击就能击败你,而你无法在足够快的时间内击败骑士。你可以通过每次攻击后都治疗来无限延长战斗,但实际上无法击败骑士。
在第 4 组样例中,一种可能的最优行动顺序为:攻击、减益、增益、攻击、攻击。
数据范围
。
小数据集(测试集 1 - 可见)
- 时间限制:
6015 秒。 - 。
- 。
- 。
- 。
- 。
- 。
大数据集(测试集 2 - 隐藏)
- 时间限制:
24060 秒。 - 。
- 。
- 。
- 。
- 。
- 。
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号