PID726 / 矿洞 Boss
题目描述

【题目背景】

又是一周的矿洞时间了!各位帮友正在奋力拼搏,和Boss决一死战,absi2011的企鹅当然也不例外。

【题目描述】

这次矿洞中,我们要挑战的Boss叫田伯光。

田伯光一共有74000点血,每人有13次攻击机会。每人都会选择一个时间开始打,然后每分钟打一次。两个人在同一分钟打时,输入顺序在前的先打。

一共矿洞从中午12:00开放到晚上23:59,之后不能再打。

一开始田伯光拥有一个技能(伤害反弹:极大概率对造成伤害的玩家反弹10%的伤害)。

当他的血量小于50%时,也就是说,在37000血以下时(包含),田伯光会拥有第二个技能(火眼金睛:命中提高30%),注意,在战斗过程中,若田伯光血被打到37000以下时并没有此技能,但下一个打田伯光的人所遇到的田伯光会有此技能。例如absi2011对38230血的田伯光在战斗中造成了1245伤害时,并不会受到此技能影响,而应该继续结算完此次战斗,之后absi2011又打了田伯光458血,然后下一位帮友Dragonfly Kang点击挑战时,所遇到的田伯光有此技能。

当他的血量少于20%时,也就是说,在14800血以下时(包含),田伯光会拥有第三个技能(垂死挣扎:伤害提高30%),注意和上面所说一样的方式结算。

现在给出每个人的5项数据:名字,攻击的时间(用xx:xx的格式给出),田伯光1技能时的攻击力,田伯光2技能时的攻击力,田伯光3技能时的攻击力。

输入格式

第一行两个数,n。代表有n个帮友。

以后n行,每行1个字符串,1个xx:xx的时间,三个数据分别如上所述。

输出格式

先输出一行”Yes”或”No”,代表是否打败田伯光,若没打败,则再输出一行田伯光剩余血量。

对于第一次把田伯光打到80%,50%,20%,0%血或更低的人是有奖励的,再起四行分别输出这些人的名字。如果对于某个奖励无人获得,则输出”TianBoGuang Mei Bei Da Dao Zhe Ge Di Bu!”并且不输出后面的了。

样例输入
样例输出
注释

【样例解释】

帮友BingQiLingDeYanLei、DragonflyKang在第12:00—12:03时轮流对田伯光进攻,每次打了1000血和2000血,一共打了12000血。

帮友BingQiLingDeYanLei在第12:04时对62000血的田伯光进攻,打了1000血

帮友DragonflyKang在第12:04时对61000血的田伯光进攻,打了2000血,拿到奖励。

帮友BingQiLingDeYanLei、DragonflyKang在第12:05—12:11时轮流对田伯光进攻,每次打了1000血和2000血,一共打了18000血。

帮友BingQiLingDeYanLei在第12:12时对38000血的田伯光进攻,打了1000血,拿到奖励。

帮友DragonflyKang在第12:12时对37000血(两个技能)的田伯光进攻,打了2000血。

帮友Lcey在第15:00—15:12时对田伯光进攻,打了400*13=5200血。

帮友absi2011在第19:00—19:12时对田伯光进攻,打了1000*13=13000血。

【Hint】

保证每个人伤害不为负。

另:

星月家园资料,欢迎各位豆油加入^_^

【数据范围】

对于30%的数据,保证能打死。任何两个人攻击的时间之间均有至少13分钟的差距。

对于100%的数据,n<=110,保证每人伤害<=75000,名字长度小于30,中间均为大小写字母和数字组成。时间均合法(在12:00—23:59之间)且按顺序递增。

提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论