洛谷P1426-小鱼会有危险吗

原题链接: https://www.luogu.org/problem/P1426

题面简述:

有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%98\%。有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是探测范围。一旦小鱼进入探测器的范围,探测器就会在这一秒结束时把信号传递给那个猎人,猎人在一秒后就要对探测器范围内的水域进行抓捕,这时如果小鱼还在这范围内就危险了。也就是说小鱼一旦进入探测器范围,如果能在下1秒的时间内马上游出探测器的范围,还是安全的。现在给出s和x的数据,请你判断小鱼会不会有危险?如果有危险输出y,没有危险输出n

输入格式:

一行内输入两个实数,用空格分隔,表示s和x。均不大于100

输出格式:

一行内输出y或者n表示小鱼是否会有危险。

思路:

img
如上图所示,探测器的检测范围为xx的话,只要模拟出小鱼游到探测器附近时候的速度,在用a*0.98>x*2检测下就可以了。
代码如下:

#include <bits/stdc++.h>
using namespace std;
int main() {
	double a = 7;
	int s,x;
	cin>>s>>x;
	int r;
	for(r = 0;r<=s-x;r+=a) {
		a*=0.98;  
	}
	if(a*0.98>x*2) {
		cout<<'n'<<endl;
	} else {
		cout<<'y'<<endl;
	}
} 

致谢:

用户名 对本文帮助
@斗神_君莫笑 告诉我第四行a应是double
原文地址:https://www.cnblogs.com/littlefrog/p/11939500.html