TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P1173
  • 题目
  • P1173Pugna大战何老板
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB
    问题描述

    星期五的晚上,很多人都走了,只剩下邓老板和何老板在机房。无聊的他们打开了魔兽,开始打DOTA。
    游戏开始了,邓老板一如既往的选了遗忘法师-Pugna,何老板因为屠夫Pudge和他长的很像便选了屠夫。
    6分钟过去了。Pugna在中路凭借风骚的走位,犀利的补刀和完美的控线很快到了6级,而Pudge一直在家里发呆导致还在1级的状态。
    现在,他们在河道相遇了……
    我们假定Pugna和Pudge的攻击是同时的,攻击力分别为P1和P2,且都是每秒攻击一次。忽略他们的护甲,生命回复和射程,并且双方会一直攻击不会撤退。
    现在知道了他们的剩余生命值H1和H2。
    同时Pugna还有M点的魔法值,他有如下的技能,并且只要有魔法并且可以放(不在冷却时间内)就会放:
    1:幽冥暴轰:对一定范围内的敌人造成B点的伤害,这个技能需要1秒的吟唱时间(就是这1秒不攻击)。消耗魔法值M1点,有C1秒的冷却时间。
    2:生命汲取:持续L秒,每秒吸取对方D点的生命值,自己回复同样的数值,假设这个持续时间内也可以攻击和放魔法(如果真的这样该多好…)。需要消耗M2点魔法。冷却时间为C2秒。
    (剩下的两个技能假设邓老板认为单挑何老板不需要放,同时Pugna每秒会回复q点魔法值)
    而Pudge只有1级,只会一个技能就是腐烂并且何老板开了之后一直忘了关,所以一直持续着。(Ps:为什么不学钩子呢,因为何老板不会操作~)
    腐烂:同时对周围的敌人和自己造成R点/秒的伤害。这个技能不消耗魔法。
    机智的邓老板想知道拿了一血之后还剩下多少血和蓝,便开了旁边的一台电脑来计算比赛的结果。

    输入格式

    共4行。
    第一行,4个整数,P1,H1,M,q,分别表示Punga的攻击力,剩余的生命,剩余的魔法值和每秒回复的魔法值。
    第二行,2个整数,P2,H2表示Pudge的攻击力和生命。
    第三行,7个整数,B,M1,C1,D,M2,C2,L 分别表示Pugna技能的各项数值。(L<C2)
    第四行,1个整数,R 为Pudge技能的各项数值。

    输出格式

    共3行。
    第一行为一个字符串:
    如果Pugna赢了,输出"Happy smell fun look,big fast man heart,yeah!"(邓老板倾情翻译:喜闻乐见,大快人心)
    如果Pudge赢了,输出"The code must has something wrong!"
    第二行为两个整数,为胜利的一方剩余的生命值和魔法值,用" "隔开。(假设Pudge的魔法一直为213)
    第三行为所用的时间(秒)。

    样例输入

    样例输入1:
    100 2000 200 10
    50 600
    250 125 6 95 240 22 9
    25

    样例输入2:
    10 102 1000 500
    2 99999
    1000 1 1 1 1 1 10
    100 

    样例输出

    样例输出1:
    Happy smell fun look,big fast man heart,yeah!
    1700 115
    4

    样例输出2:
    The code must has something wrong!
    98787 213
    2

    提示

    样例说明:
    1:
    第一秒,Pugna用125魔法发动B,回复10。加上攻击之后,Pudge被打掉250,Pugna还剩1925血,85蓝。Pudge还剩下325血(各有25是被Pudge烧的)
    第二秒,Pugna魔法回复变成95,双方都普通攻击,Pugna还剩1850,Pudge还剩下200(各有25是被Pudge烧的)
    第三秒,Pugna魔法回复变成105,双方都普通攻击,Pugna还剩1775,Pudge还剩75(各有25是被Pudge烧的)
    第四秒~ Pugna魔法回复变成115,血还剩1700......First Blood~
    2:
    第一秒,Pugna虽然被打了102,但是吸血吸了1滴,所以还剩1点血,Pudge被B了1000被自己烧了100被吸了1还剩下98898
    第二秒,Pugna不负众望死了,但是还是吸了Pudge1滴血,打了Pudge10,Pudge还被自己烧了100,所以还剩98787
    Hint
    H1 H2都大于0
    H1 H2 M<=100000
    其余数值都小于1000。
    Pugna有魔法时总是先考虑幽冥暴轰。并且如果魔法足够在同一秒内可以同时放这两个技能。魔法的回复可以看作最先的,即某一秒时如果Pugna只有M1-q的蓝也可以B一次。
    另外双方的攻击和所有技能都看做同时,某一方杀死另一方的时候依然会受到伤害。(就是每一秒里两个人都先各种掉血,然后再判断死没有。死了就结束。)


    来源  有问题找铺盖