fjut 1724 植物大战僵尸(基础)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41117236/article/details/82120635

【题目】

植物大战僵尸

TimeLimit:1000ms  MemoryLimit:128000KB

64-bit integer IO format:%lld

已解决 | 点击收藏×

收藏题目

备注

Close确定

| 已有5人收藏了本题

Problem Description

恭喜大家进入复试!现在到了植物大战僵尸时间,问题很简单。现在有一个豌豆射手,它每秒发射一个豌豆,豌豆的飞行速度是V0。在它的面前有L米的草地,你可以假设它是一个点。现在有个只僵尸来袭,他以速度V1匀速向豌豆袭来。僵尸被击n次才会挂掉,僵尸得用2秒时间吃掉豌豆。(为了使题目更简单我们假设不会出现僵尸吃掉豌豆射手的时刻刚好被打死这种情况)豌豆射手能不能守住草坪呢?嗯,现在把这个问题交给你了

 

Input

输入包含多组数据,每组包含四个数L,V0,V1,n。意义如上所述。

Output

如果豌豆射手能打死僵尸输出YES,否则输出NO

SampleInput

657 62 46 46 
771 89 7 2

SampleOutput

NO 
YES

【题解】

这道题目作为一道数学基础题困扰了我很久(其实也不是很久),主要考虑到豌豆射中僵尸的时间绕了一点(绝对不承认是因为自己数学差)。

思路:只需要比较n和僵尸吃掉豌豆射手的总时间t即可,因为豌豆一旦发射出去那么一定比豌豆射手更先接触到僵尸。

【代码】

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <stack>
#include <queue>
#include <algorithm>
#include <iostream>
#define mem(a) memset(a,0,sizeof(a))
#define go(i,a,b) for(int i=a;i<=b;i++)
#define og(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int maxn=1e5+5;
const int inf=0x3f3f3f3f;
typedef long long ll;
typedef unsigned long long ull;
main()
{
    double l,v,vv,n;
    while(cin>>l>>v>>vv>>n)
    {
        double t;
        t=l/vv+2;
        if(t>n) puts("YES");
        else puts("NO");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41117236/article/details/82120635
今日推荐