阿 瓦 要 寄 啦
查看原帖
阿 瓦 要 寄 啦
542182
easy_Cooker楼主2023/2/2 22:46

不懂判断条件少了哪个

运算大抵是没有问题。(

但50pts非常痛苦

#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
inline int read()
{
	int ret=0,f=1;
	char ch=getchar();
	while(!isdigit(ch))
	{
		if(ch=='-')
		{
			f=-1;
		}
		ch=getchar();
	}
	while(isdigit(ch))
	{
		ret=(ret<<1)+(ret<<3)+(ch^'0');
		ch=getchar();
	}
	return ret*f;
}
int e,n,d,p,q;
int k;
signed main()
{
	k=read();
	for(int i=1;i<=k;i++)
	{
		n=read(),d=read(),e=read();
		int m=n-e*d+2;
		int cnt=pow(m,2)-4*n;
		if(sqrt(cnt)*sqrt(cnt)!=cnt)
		{
			cout<<"NO"<<endl;
		}
		else if(((int)sqrt(cnt)+m)%2==1)
		{
			cout<<"NO"<<endl;
		}
		else if(!((m-sqrt(cnt))/2>0&&(m+sqrt(cnt))/2>0))
		{
			cout<<"NO"<<endl;
		}
		else
		{
			cout<<(m-sqrt(cnt))/2<<' '<<(m+sqrt(cnt))/2<<endl;
		}
	}
	return 0;
}

求各位大佬看看

2023/2/2 22:46
加载中...