1. 程式人生 > >加特林大戰殭屍

加特林大戰殭屍

加特林大戰殭屍

題目傳送門
Description

現在又到了毛學姐玩生化危機的時間,問題很簡單。現在有一把自動加特林機槍,它每秒發射一顆子彈,子彈的飛行速度是V0。在它的面前有L米的空地,你可以假設機槍是一個點。現在有個一隻殭屍來襲,他以速度V1勻速向加特林機槍走去。殭屍被加特林子彈擊中n次才會gg,殭屍在走到加特林機槍的位置後,會用酸液對其進行攻擊,只需2s就能摧毀加特林。問:強大的加特林機槍能不能守住這塊空地呢?

Input
輸入包含多組資料,每組包含四個數L,V0,V1,n。保證所有資料在int類型範圍內。

Output
如果加特林能幹掉殭屍,請輸出"YES",否則輸出"NO"。

Sample Input 1
657 62 46 46
771 89 7 2

Sample Output 1
NO
YES
Hint
為了簡化情況,不會出現殭屍和加特林同歸於盡的情況。
題解
這個題用一個簡單的極限思想就完全ok了,題目中的n可以看成殭屍從出現到死亡所需要的總時間,因此,我們只需要求出殭屍從出現到摧毀加特林的最大時間t後進行比較即可。如果n>t,就輸出“NO”,反之,輸出"YES"(不會出現n=t的情況)。

#include<stdio.h>
int main()
{
    float L,V0,V1,n;
    while(scanf("%f%f%f%f",&L,&V0,&V1,&n)!=EOF)
    {
        float t=L/V1+2;
        if(n<t)printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}