洛谷P1426 小鱼会有危险吗

题目链接

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

输入格式
一行内输入两个实数,用空格分隔,表示 s 和 x。

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

输入输出样例
输入 #1
14 1
输出 #1
n
说明/提示
数据规模与约定
对于 100% 的数据,保证 1≤s,x≤100,小数点后最多有 6 位小数。

代码:

#include
using namespace std;
int main()
{
     
	double v = 7.0, s, x, d = 0.0, flag = 0;
	cin >> s >> x;
	while(v > 1)
	{
     
		d += v;
		v *= 0.98;
		if(s < x && s + x <= d) flag = 2;
		if(flag == 1 && d <= s + x) flag = 2;
		else if(flag == 1 && d > s + x) flag = 3;
		if(flag == 2 || flag == 3) break;
		if(d >= s - x && d <= s + x) flag = 1;
	}
	if(flag == 2) cout << "y";
	else cout << "n";
	return 0;
}

你可能感兴趣的:(算法入门,模拟,暴力,小鱼会有危险吗,洛谷,c++)