10
770 77 5
633 1 211
545 1 499
683 3 227
858 3 257
723 37 13
572 26 11
867 17 17
829 3 263
528 4 109
2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88
【样例 #2】
见附件中的 decode/decode2.in
与 decode/decode2.ans
。
【样例 #3】
见附件中的 decode/decode3.in
与 decode/decode3.ans
。
【样例 #4】
见附件中的 decode/decode4.in
与 decode/decode4.ans
。
【数据范围】
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
typedef long long ll;
ll n,d,e;
//p^2 -(n-e*d+2)p+n = 0
bool chk(ll num){//判断num是否时完全平方数
ll t=ll(sqrt(num));
return t*t==num;
}
int main(){
int k;
cin>>k;
while(k--){
cin>>n>>d>>e;
ll b=e*d-n-2;
ll a=1,c=n;
if(b*b<4*a*c){
cout<<"NO"<<endl;
}else{
ll t=b*b-4*a*c;
bool f=0;
if(chk(t)&&(ll(-b+sqrt(t))%(2*a)==0)){
ll p=(-b-sqrt(t))/(2*a);
ll q=n/p;
if(p>=1){
f=1;
cout<<p<<" "<<q<<endl;
}
}
if(!f) cout<<"NO"<<endl;
}
}
return 0;
}
Q.E.D.