您的位置:首页 > 其它

F 大吉大利,今晚吃鸡----跑毒篇

2018-01-21 18:27 267 查看

题目描述

现在有一款很火的游戏playerunknown’s battlegrounds,人称“吃鸡”,在里面经常面临跑毒(从安全区外跑进安全区内)的问题,在安全区外,人们会处于中毒状态,每秒会掉a%血,人们可以通过使用道具急救包把血量升回到80%,使用急救包需要原地站着6秒。现在知道在安全区外扣血速度为a%/s,角色和安全区的距离为b米,角色跑步速度为1m/s,角色有c个急救包,请问角色是否能安全跑进安全区内。(PS:角色开始的血量为100%。如果血量降到0%,立刻判定为死亡。使用急救包时,如果刚使用完毕瞬间或者正在使用急救包的时候,血量降到0%,角色立即判定为死亡。顺带一提,这里判断时间不存在0.xxxx秒,最小时间单位为1s)



输入描述:

第一行是样例数T(T<9)

第2到2+T-1行每行有三个整数a b c,其中a为安全区外的扣血速度a%/s,b为角色和安全区的距离,c为急救包的数量。



输出描述:

如果角色能进入安全区输出“YES”。

若角色在安全区外死亡输出“NO”。



示例1

输入

3

1 100 2

6 31 2

7 31 2



输出

YES

YES

NO



说明

当a=6,b=31,c=2时,

0s起跑,10s的时候角色跑了10M,血量剩下40%,开始使用急救包,16s的时候,角色血量先降到4%再恢复到80%,然后角色继续跑步。23s的时候,角色跑了17M,剩余血量为38%,开始使用急救包,29s的时候,角色血量先降到2%再恢复到80%,然后角色继续跑步。42s的时候,角色跑了30m,血量剩余2%。当43s的时候,角色跑了31m进入了安全区内,不再扣血。



备注:

对于100%的数据,

1 <= T < 9;

0 < a <= 20;

0 < b <= 120;

0 <= c <= 8。



代码

#include <stdio.h>
int main()
{
int t,a,b,c;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
scanf("%d%d%d",&a,&b,&c);
for(int xue=100;;xue-=a)
{
b--;
if(xue<=0)
{
printf("NO\n");
break;
}
if(xue>(a*6)&&xue<=(a*7)&&c>0)
{
xue=80;
c--;
}
if(b==0&xue>0)
{
printf("YES\n");
break;
}
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: