问题标题: 酷町堂:5135

0
0
已解决
王天泽
王天泽
新手光能
新手光能

#include<iostream>

#include<cstdio>

#include<cmath>

#include<string>

#include<algorithm>

using namespace std;

long long s=7,sum;

int main(){

    int s,x;

    cin>>s>>x;

    for(int i=1;i<=s;i++){

        s*=0.98;

        sum+=s;

    }if(sum>=x){

            cout<<"N";

        }else{

            cout<<"Y";

        }

    return 0;

}

王天泽在2022-07-04 08:05:34追加了内容

@陈慕嘉 

#include<iostream>

#include<cstdio>

#include<cmath>

#include<string>

#include<algorithm>

using namespace std;

long long s=7,sum;

int main(){

    int y,x;

    cin>>y>>x;

    while(sum<=y){

        s*=0.98;

        sum+=s;

    }

    if(sum+s*0.98>=x){

        cout<<"N";

    }else{

        cout<<"Y";

    }

    return 0;

}

Time Limit Exceeded:10分


0
已采纳
王文博
王文博
缔造者之神
缔造者之神

提示:本题只需要一个**循环while(1),定义double类型的v(速度),l(路程),int类型的s(探测器),x(范围),发现l>s-x时,说明鹿已经进入到探测器的范围了,此时需要计算s+x-l和v*0.98的关系,如果是<=,则没有危险,否则有危险,最后break结束循环。(无论有没有危险都结束)

0
0
陈慕嘉
陈慕嘉
初级光能
初级光能

首先,s和sum是double类型的,其次小鹿第一次能跑7米,不用*0.98,所以s*=0.98;和sum+=s换一下位置,然后while循环里的条件是y-x,因为y里有x米也在探测器范围里,while循环之后,还要判断一下sum有没有到探测器范围内(y-x),如果到了再if(s>=2*x-(sum-(y-x)))(小鹿一步能不能跑掉,能就输出N,不能就输出N)2*x-(sum-(y-x))是探测器距离减掉小鹿跑进了多少探测器范围,也就是一共要跑多少米能跑走。如果没到如果到了再if(s+s*0.98>=2*x+((y-x)-sum))(小鹿两步能不能跑掉,能就输出N,不能就输出N)2*x+((y-x)-sum)是探测器距离加上小鹿还剩多少米到范围,也就是一共要跑多少米能跑走。

0
刘意阳
刘意阳
初级天翼
初级天翼

你几分啊???

刘意阳在2022-07-02 15:19:10追加了内容

这题几分

我要回答