60求调【玄关】
查看原帖
60求调【玄关】
466596
MorningStarCzy楼主2024/9/30 22:01
#include<bits/stdc++.h>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	int T;cin>>T;
	while(T--)
	{
		long long n,d,e;
		cin>>n>>e>>d;
		long long k1=n,k2=n-e*d+2;
		long double x1=((long double)k2+sqrt((long double)k2*(long double)k2-4*1*(long double)k1))/2;
		long double x2=((long double)k2-sqrt((long double)k2*(long double)k2-4*1*(long double)k1))/2;
		if(fmod(x1,1.0)!=0.0&&fmod(x2,1.0)!=0.0) cout<<"NO";
		else if(fmod(x1,1.0)==0.0&&fmod(x2,1.0)!=0.0)
		{
			if(fmod(n*1.0/x1,1.0)!=0) cout<<"NO";
			else cout<<min((long long)x1,(long long)(n/x1))<<" "<<max((long long)x1,(long long)(n/x1)); 
		}
		else if(fmod(x1,1.0)!=0.0&&fmod(x2,1.0)==0.0)
		{
			if(fmod(n*1.0/x2,1.0)!=0) cout<<"NO";
			else cout<<min((long long)x2,(long long)(n/x2))<<" "<<max((long long)x2,(long long)(n/x2));
		}
		else
		{
			if(fmod(n*1.0/x2,1.0)!=0&&fmod(n*1.0/x1,1.0)!=0) cout<<"NO";
			else if(fmod(n*1.0/x2,1.0)==0) cout<<min((long long)x2,(long long)(n/x2))<<" "<<max((long long)x2,(long long)(n/x2));
			else cout<<min((long long)x1,(long long)(n/x1))<<" "<<max((long long)x1,(long long)(n/x1));
		}
		cout<<'\n';
	}
	return 0;
}
2024/9/30 22:01
加载中...