数学法求救!
查看原帖
数学法求救!
1368290
hwcbzzyh楼主2024/7/13 11:09

本人乃一蒟蒻,备战时刷道此题。

这是我的思路

这是我的代码:

#include<bits/stdc++.h>
#define endl '\n'
#define int long long 
using namespace std;
int k,n,d,e;
signed main(){
	cin>>k;
	while(k--){
		cin>>n>>d>>e;
		if(((e*d-n)*(e*d-n)+4*n)<0){
			cout<<"NO\n";
			continue;
		}
		int p1=(n-e*d+sqrt((e*d-n)*(e*d-n)+4*n))/2;
		int p2=(n-e*d-sqrt((e*d-n)*(e*d-n)+4*n))/2;
		int q1=n/p1;
		int q2=n/p2;
		if(p1<=q1)cout<<p1<<' '<<q1<<endl;
		else if(p2<=q2)cout<<p2<<' '<<q2<<endl;
	}
	return 0;
}

可是连样例都过不了,为什么呢?求各位大佬帮忙,玄关~~

2024/7/13 11:09
加载中...