检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#题面
#题目描述
在一款电脑游戏中,你需要打败 只怪物(从 到 编号)。
为了打败第 只怪物,你需要消耗 点生命值,但怪物死后会掉落血药,使你恢复 点生命值。
任何时候你的生命值都不能降到 (或 以下)。
请问是否存在一种打怪顺序,使得你可以打完这 只怪物而不死掉。
#输入格式
第一行两个整数 ,分别表示怪物的数量和你的初始生命值。
接下来 行,每行两个整数 。
#输出格式
第一行为 TAK
(是)或 NIE
(否),表示是否存在这样的顺序。
如果第一行为 TAK
,则第二行为空格隔开的 的排列,表示合法的顺序。
如果答案有很多,你可以输出其中任意一个。(本题使用 SPJ)
#输入输出样例
样例输入 #1
3 5
3 1
4 8
8 3
样例输出 #1
TAK
2 3 1
#数据范围与约定
对于 的数据,,。
#思路
首先肯定要先打打完可以回血的怪物,再打打完会掉血的怪物,这样可以尽可能地保证在掉血的过程中不会死掉。
先考虑回血怪物:
- 对于那些 的回血怪物,直接打即可。
- 对于不能的,按照 从小到大排序。可以用调整法证明。
至于掉血怪物,可以按照回血怪物的反方向搞,不难证明。
#代码
1 |
|