60分求调
查看原帖
60分求调
1097426
123zyc楼主2024/10/21 14:03
#include<bits/stdc++.h>

using namespace std;

int main(){

	long long k;
	cin >> k;
	while(k--){
		long long n,d,e;
		cin >> n >>d >> e;
		long long pjiaq=n-e*d+2;
		long long p=1.0*(sqrt(pjiaq*pjiaq-4*n)+n-e*d+2)/2; 
		long long q=1.0*(n-e*d+2-sqrt(pjiaq*pjiaq-4*n))/2;
		if(p>0&&q>0&&(p-1)*(q-1)+1==e*d&&n==p*q)cout << min(p,q) <<" " <<max(p,q)<<"\n";
		else cout << "NO"<<'\n';
	} 
	return 0;
} 
2024/10/21 14:03
加载中...