建议加强数据(卡数学做法)
查看原帖
建议加强数据(卡数学做法)
705343
cbkxx楼主2023/11/27 20:58

我在其它网站上交了如下代码

#include<bits/stdc++.h>
using namespace std;
int T;
long long n,e,d;
int main(){
	cin>>T;
	while(T--){
		cin>>n>>e>>d; 
		long long m=n+2-d*e;
		if(m*m-4*n<0){
			cout<<"NO\n";
			continue;
		} 
		double ans=(m+sqrt(m*m-4*n))/2;
		long long ans2=(long long)(ans+0.5);
		if(fabs(ans-ans2)<1e-7){
			long long p=ans2,q=n/ans2;
			if(p>q)swap(p,q);
			cout<<p<<" "<<q<<endl;
		}else{
			cout<<"NO\n";
		}
	}
	return 0;
}

能A洛谷数据

在那个网站上70

检查了一下

发现 (n+2−d∗e)2−4∗n(n+2-d*e)^2-4*n 可能爆ull

建议加hack数据( (n+2−d∗e)2−4∗n(n+2-d*e)^2-4*n 爆ull的)

让此题只有二分可过

2023/11/27 20:58
加载中...