2023年CSP-J【解密】求大佬看看哪里有错
  • 板块学术版
  • 楼主dengyujie2020
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/7/10 21:37
  • 上次更新2023/11/3 10:39:10
查看原帖
2023年CSP-J【解密】求大佬看看哪里有错
366179
dengyujie2020楼主2023/7/10 21:37
#include<bits/stdc++.h>
using namespace std;
#define ll unsigned long long
ll k;
void ans(ll n,ll e,ll d)
{
	double p_and_q,p_except_q,p,q,p_except_q1,p_except_q2;
	p_and_q=n-e*d+2;
	p_except_q=sqrt(pow(p_and_q,2)-(double)4*n);
	p=(p_and_q+p_except_q)/2.0;
	q=p_and_q-p;
	if(p>0&&q>0)
	{
		if(p>q) swap(q,p);
	if(p!=(ll)p*10/10||q!=(ll)q*10/10)
		cout<<"NO"<<endl;
	else
		cout<<p<<" "<<q<<"\n";
	}
	else
	{
		p=(p_and_q-p_except_q)/2.0;
		q=p_and_q-p;
		if(p>q) swap(q,p);
		if(p!=(ll)p*10/10||q!=(ll)q*10/10)
		cout<<"NO"<<endl;
		else
		cout<<p<<" "<<q<<"\n";
	}
	
}
int main()
{
	cin>>k;
	for(int i=1;i<=k;i++ )
	{
		ll n,e,d;
		cin>>n>>e>>d;
		ans(n,e,d);
	}
    return 0;
}

是用数学方法做的,只有50分 记录

2023/7/10 21:37
加载中...