算法1
二分玄学
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
long long n;
cin>>n;
while(n--){
long long a,b,c;
cin>>a>>b>>c;
long long a1=0,a2=0;
long long m=a-b*c+2,l=1,r=m;
while(l<=r){
int mid=(l+r)>>1;
if(mid*(m-mid)==a){
a1=mid;
a2=m-a1;
break;
}
if(mid*(m-mid)>a)r=mid-1;
else l=mid+1;
}
if(a1>a2)swap(a1,a2);
if(a1*a2==a)cout<<a1<<' '<<a2;
else cout<<"NO";
cout<<'\n';
}
}
玄学起来了?