1480 : 大魔法师cyh
时间限制:0 Sec 内存限制:0 MiB 提交:10 正确:5
题目描述
大魔法师cyh在带领新来到AC大陆的勇者们组建攻坚队攻打怪兽,怪兽初始拥有 $m$ 点血量,只有血量下降到 0 才能获取胜利。
勇者们无法对怪兽造成任何伤害,只能依靠大魔法师cyh的魔法。但攻坚前cyh喝了假酒,每次施展攻击魔法时会附加治愈魔法,治愈魔法会在攻击魔法生效后为怪兽提供治愈效果。
大魔法师cyh一共会 $n$ 种魔法,每种魔法表示为 ($x, y$)($x$代表攻击伤害,$y$代表治疗量)。例如,cyh施展了魔法($x_i$,$y_i$),攻击可以造成 $min(x_i, now)$($now$代表当前血量)伤害,当攻击生效后,如果怪兽仍有血量(即当前血量>0),将生效治愈魔法,血量上升 $y_i$ 点。如果怪兽血量降为 0,大魔法师攻坚队将取得胜利。
cyh是大魔法师,可以任意顺序使用自己的魔法任意次数。
请帮cyh计算攻坚队获胜所需要的最少施法次数。
例:如果 now = 10,x = 7,y = 10,cyh施法后血量会变为13(攻击魔法生效后血量变为 3,仍有血量,治愈魔法生效,血量上升至 13)。
输入描述
第一行包含一个整数 $T(1<=T<=100)$,$T$ 代表测试数据组数。
第二行包含两个整数 $n(1<=n<=10^3)$,$m(1<=m<=10^9$),$n$ 代表魔法种类的数量,$m$ 代表怪物的血量。
下面的 $n$ 行描述每种魔法的效果,第 $i$ 行有两个整数$x_i,y_i(1<=x_i、y_i<=10^9)$,$x_i$ 代表第 $i$ 种魔法的伤害,$y_i$ 代表第 $i$ 种魔法的治疗量。
输出描述
如果获胜,输出包括两行,第一行输出“cyhnb!”(不包含引号),第二行输出获胜最少施法次数。
如果不能获胜,则直接输出“X_X”。
样例输入
3 3 10 6 3 8 2 1 4 4 10 4 1 3 2 2 6 1 100 2 15 10 11 14 100
样例输出
cyhnb! 2 cyhnb! 3 X_X
来源
2019武汉科技大学菜鸟杯