【拾题杂谈】GYM100517D Defend the Tower
题面
题目描述
丹正在计划一场国际塔防游戏比赛,比赛拥有如下规。
战斗场地一排的十个格子,编号从 $1$ 到 $10$ 。每一个格子都有一些塔防守卫。同时有 $10 $ 个怪物,每个怪物的生命值为 $h$ 点,游戏时常的单位为秒。在 $1$ 到 $10$ 的每一秒开始时,一个新的怪物进入第一个单元格。每个怪物都有名为 delay
的特殊参数,默认情况下它等于 $1$ 。延迟塔可以增加怪物的延迟。如果一个怪物的的延迟是 $d$ ,并且在第 $t$ 秒开始时进入其当前单元格,则它会在第 $t +d$ 秒开始时移动到下一个单元格。有三种类型的塔:
- 枪炮塔:每一秒攻击当前格子的怪物。如果有多个怪物,则只有一个收受到伤害,受到伤害的顺序是先来先打。一个枪炮塔需花费 $3$ 美元建造,每次对于收到攻击的每个怪物造成 $1$ 点伤害。 用字母 $\tt G$ 表示
- 火箭塔:每三秒攻击当前格子的所有怪物。每次对于受到攻击的每个造成 $4$ 伤害,需要 $10$ 美元建造。用字母 $\tt R$ 表示。
- 延迟塔:每个怪物经过的最后五个格子中的延迟塔会造成怪物的延迟增加一点。举个例子,当格子 $1,2,4$ 有延迟塔,且怪物的位置位于 $6$ 时,会造成 $3$ 的延迟。延迟塔需要 $5$ 美元建造,用字母 $\tt S$ 表示。
如果怪物的血量小于等于 $0$ 则认为怪物被杀死。如果怪物或者通过了 $10$ 个格子,我们认为这个怪物活了下来。玩家的目标是建立塔楼,以杀死数量尽可能多的怪物必须在游戏开始前搭建完塔楼。
根据玩家的钱,他可以杀死不同数量的怪物。帮助丹找出他可以根据他的钱杀死的最大怪物数量。对于每一笔钱 $s$ ,使得通过设置总成本 $s$ 的塔比通过设置总成本 $s -1$ 的塔可以杀死更多的怪物,打印有关此怪物数量和最佳塔线的信息。
输入格式
输入包含一个整数 $h$ 表示怪物的血量 $(1\le h\le 30)$ 。
输出格式
对于每一笔钱 $s$,使得可以通过建立总成本 $s$ 的塔来杀死 $k$ 个怪物,并且 $k$ 严格大于总成本 $s − 1$ 的塔可以杀死的怪物数量,打印一行。该行的格式必须为 $s-> kill k t
,其中 $t$ 是必须引导单元格从 $1$ 到 $10$ 的塔的描述。使用 ‘.’ 表示未受保护的单元格。如果有几行塔允许以总成本 $s$ 杀死 $k$ 个怪物,则输出该行的字典顺序最小描述。
样例输入
1 | 13 |
样例输出
1 | $27 -> kill 1 with ...SSSGGGG |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 祝馀宫!
评论