```python
i = input().split()
s = int(i[0])
x = int(i[1])
v = 7
d = 0
while s-x >= d:
d += v
v *= 0.98
le = d-(s-x)
sh = x*2-le
if v >= sh:
print('n')
else:
print('y')
```
by Gojosatoru @ 2023-07-31 03:21:01
```cpp
#include<iostream>
using namespace std;
int main(){
double s,x,s1,b=7;
cin>>s>>x;
while(true){
s1+=b*0.98;
b*=0.98;
if(s1>s-x) break;
}
s1+=b;
if(s1>=s+x) printf("n");
else printf("y");
}
```
- 我用C++也只有80分@[Gojosatoru](/user/1003348)
by yejuncenyyds @ 2023-07-31 05:34:28
@[my_name_is_my_name](/user/1044914) 首先,你有一种条件没有判断,就是小鱼还没有开始游就已经进入范围的条件,所以应该提前判断,如果是的话就直接越过while,AC代码如下
```cpp
#include<iostream>
using namespace std;
int main(){
double s,x,s1 = 0,b=7;
cin>>s>>x;
bool flag = 1;
if(s1>s-x) flag = 0;
while(true){
if(flag == 0){
break;
}
s1+=b*0.98;
b*=0.98;
if(s1>s-x) break;
}
s1+=b;
if(s1>s+x) printf("n");
else printf("y");
}
by zhongboxuan123 @ 2023-07-31 07:19:19
@[my_name_is_my_name](/user/1044914) 我认为你的问题是:一、s1初始没有赋值为零;二、while结束条件的问题;三、 s1+=b*0.98 是错的,应为s1+=b。
必须指出,@zhougboxuan123 的代码是错误的,hack:
```
10.5 3.5
```
这组hack数据也可以hack@[Gojosatoru](/user/1003348) 的代码
by emiermao @ 2023-07-31 07:38:00
哦,没有@上
@[zhongboxuan123](/user/478766) 你的AC是误打误撞的AC
by emiermao @ 2023-07-31 07:39:24
@[emiermao](/user/218051) 谢谢大佬
by yejuncenyyds @ 2023-07-31 13:22:07
@[zhongboxuan123](/user/478766) 谢谢
by yejuncenyyds @ 2023-07-31 13:23:08