60分求助
查看原帖
60分求助
676546
xsc4200楼主2023/2/26 00:19

60分求助

#include<bits/stdc++.h>
using namespace std;
long long p,q,n,e,d,ed,k;
int main(){
	cin>>k;
	while(k--){
		cin>>n>>e>>d;
		ed=e*d;
		p=(n-ed+2+(long long)sqrt(pow(n-ed+2,2)-4*n))/2;
		q=(n-ed+2-(long long)sqrt(pow(n-ed+2,2)-4*n))/2;
		if(n==p*q && ed==(p-1)*(q-1)+1&&p&&q){
			cout<<min(p,q)<<' '<<max(p,q)<<endl;
		}
		else{
			cout<<"NO"<<endl;
		}
	}
} 
2023/2/26 00:19
加载中...