AT_tenka1_2012_final_c Code Art Online
题目描述
Code Art Online是一款文字冒险RPG。玩家使用“符号”进行战斗
游戏中,有你与敌人。
游戏中你可以有以下 $3$ 种操作
A.给予敌人 $5$ 点伤害
B连续给予敌人伤害
C.恢复玩家生命值 $50$
关于操作B,例子,回合1时伤害为 $1$,回合2时伤害为 $2$,回合 $3$时伤害为 $3$
玩家的生命值最高为 $100$,恢复时超过 $100$,则视做 $100$,敌人也一样。回合按照敌的攻击→玩家的攻击→敌的恢复→玩家的恢复的顺序进行。
所以同一回合内的伤害处理和恢复处理,是伤害处理先进行的,所以在被伤害处理结束的阶段HP变为 $0$ 以下的情况下,此时游戏结束。敌人有最大HP和攻击力和回复力的参数。
```
回合 出招 你的血量 敌人的血量
1 A 85 6
2 A 70 2
3 A 55 0 # 第一个敌人被击败了!
4 C 95 20 # 你受到10点伤害后回复50血
5 B 85 20 # 敌人受到1点伤害后回复1血
6 B 75 20 # 敌人受到2点伤害后回复2血
7 B 65 19
8 B 55 17
9 B 45 14
10 B 35 10
11 B 25 5
12 B 15 0
```
------------
有多个敌人存在的情况下,打倒战斗的敌人就会自动出现下一个敌人,下一个回合就会和那个敌人战斗。
举个栗子:
假设有 $2$个敌人,第 $1$个敌人的HP为 $10$,攻击力为 $15$,恢复力为 $11$,第2个敌人的HP为 $20$,攻击力为 $10$,恢复力为 $2$。
此时,如果用AAACBBBBBB这个符号战斗的话,可以打倒 $2$个敌人。
输入格式
- 第一行N($1 \le n \le 30$)敌人的数量
- 第二行到第N+1行,敌的血量 $ai$($1 \le ai \le 100$) ,敌的攻击力 $bi$($1 \le bi \le 100$),$ci$ 敌的恢复力($1 \le ci \le 100$),以空格分隔
输出格式
共一行:输出以最短回合数赢得游戏的操作长度。
(如果不能打倒敌人输出 $-1$)
//请注意,答案最后需要换行。
------------
###### translator:[weishiqi66](https://www.luogu.com.cn/user/590571)