求hack
查看原帖
求hack
848964
hzoi_Shadow楼主2023/1/25 11:36
```cpp
/*
m=n+2-d*e
p*q=n
e*d=(p-1)*(q-1)+1=p*q-p-q+2=n+2-p-q
p+q=n+2-d*e=m
                   p+q=m,p*q=n
                    (m-q)*q=n
				  -q*q+mq-n=0
				  q*q-m*q+n=0
(q*q-2*q*m/2+m*m/4)-m*m/4+n=0
            (q-m/2)*(q-m/2)=m*m/4-n
                      q-m/2=sqrt(m*m/4-n)
                          q=sqrt(m*m/4-n)+m/2
                          p=n/q
*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long int k,n,d,e,m,i,p,q;
	long double a;
	cin>>k;
	for(i=1;i<=k;i++)
	{
		cin>>n>>d>>e;
		m=n+2-d*e;
		a=sqrt((long double)(m*m)/4-(long double)(n));
		q=a+(long double)(m)/2.0;
		p=n/q;
		if(p*q==n)
		{
			cout<<p<<" "<<q<<endl;
		}
		else
		{
			cout<<"NO"<<endl;
		}
	}
	return 0;
}
2023/1/25 11:36
加载中...