新手光能
#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分
缔造者之神
提示:本题只需要一个**循环while(1),定义double类型的v(速度),l(路程),int类型的s(探测器),x(范围),发现l>s-x时,说明鹿已经进入到探测器的范围了,此时需要计算s+x-l和v*0.98的关系,如果是<=,则没有危险,否则有危险,最后break结束循环。(无论有没有危险都结束)
初级光能
首先,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)是探测器距离加上小鹿还剩多少米到范围,也就是一共要跑多少米能跑走。