60分数学方法求救
查看原帖
60分数学方法求救
299690
panyibo楼主2022/11/11 19:52

RT,民间100,官方60

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define ture true
using namespace std;
unsigned long long k,n,e,d;
int main()
{
//	freopen("la.in","r",stdin);
	cin>>k;
	for(int i=1;i<=k;i++)
	{
		cin>>n>>e>>d;
		long long he=n+2-e*d;
		long long ji=n;
		long long deta=he*he-4*ji;
		//cout<<deta<<endl;
		double detaa=sqrt(deta);
		
		if(deta<0||floor(detaa+0.5)!=detaa) 
		{
			cout<<"NO"<<endl;
			continue;
		}
		else
		{
			unsigned long long p=he-sqrt(deta);
			p=p/2;
			unsigned long long q=he+sqrt(deta);
			q=q/2;
			cout<<p<<" "<<q<<endl;
		}
		he=0;
		ji=0;
	}
	return 0;
}
2022/11/11 19:52
加载中...