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武汉科技大学菜鸟杯