官方AC,但民间40分。
查看原帖
官方AC,但民间40分。
575545
HOR_ytl楼主2022/11/8 13:19
#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;

long long Abs(long long a)
{
	return a>0?a:-a;
}

int main()
{
	int k;
	long long c,d,n,m,m1,m2=-1,ans1,ans2;
	cin>>k;
	while(k--)
	{
		scanf("%lld %lld %lld",&n,&c,&d);
		m=n-c*d+2;
		m1=m;
		m=m1*m1-4*n;
		if(m>0)
		{
			m2=sqrt(m);
			if(m2==int(m2))
			{
				if((m1+m2)%2==0)
				{
					ans1=(Abs(m1-m2))/2;
					ans2=(m1+m2)/2;
					printf("%lld %lld\n",ans1,ans2);
				}
				else
					printf("NO\n");
			}
			else
				printf("NO\n");
		}	
		else if(!m)
		{
			if(m1%2==0)
				printf("%lld %lld\n",m1/2,m1/2);
			else
				printf("NO\n");
		}
		else
			printf("NO\n");
	}
	return 0;
}
2022/11/8 13:19
加载中...