传送门
本题的教训是要认真审题!
小鱼单向向右运动,不会回头躲避炸弹的
进入探测器那一刻的该秒结束,信息才到猎人
如果初始
x
>
s
x>s
x>s,那么起点在范围内即
s
u
m
>
s
−
x
sum>s-x
sum>s−x,不应再进循环累加行进路程
小鱼完全有可能在某一秒内跨过
[
s
−
x
,
s
+
x
]
.
[s-x,s+x].
[s−x,s+x].
对数值进行浮点数的运算…(这都忘记了
#include<bits/stdc++.h>
using namespace std;
int main()
{
double s,x,add=7.0,sum=0.0;
cin>>s>>x;
//为什么不用do-while 因为数据为3,4时,已经在范围内,不需要进循环了
while(sum<s-x){
sum=sum+add;
add = add*0.98;//每秒路程递减
};
double left=s+x-sum;//进左边界后后求到右边界距离
double nextstep=add*0.98; //下一秒的路程
if(nextstep<=left)//在if中写"y"的情况,因为输出"n"的情况更多,这样可以省去“跨过范围”的判断
{
cout<<"y";
}else{
cout<<"n";
}
return 0;
}