求助,一个奇特的80分代码
查看原帖
求助,一个奇特的80分代码
561707
小牛马颜楷远楼主2022/7/25 15:02

#2 测试点过不了!!!

这个代码奇特就奇特在如果你把12行的(now+f[i+1])>=(s+x)给换成(now+f[i+1])<=(s+x)就会惊奇的发现自己只拿了20分(就是只有这个测试点2能过)

#2 测试点
input 3 4
output y

上代码

#include<bits/stdc++.h>
using namespace std;
double s,x,now;
double f[100010];
int main(){
	cin>>s>>x;
	f[1]=7;
	for(int i=2;i<=100000;i++)f[i]=f[i-1]*98/100;
	for(int i=1;i<=100000;i++){
		now+=f[i];
		if(now>=s-x){
			if((now+f[i+1])>=(s+x)){//核心来了
				cout<<"n";
				break;
			}
			else{
				cout<<"y";
				break;
			}
		}
	}
	return 0;
}
2022/7/25 15:02
加载中...