社区讨论

2023年CSP-J【解密】求大佬看看哪里有错

学术版参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo2a1lbl
此快照首次捕获于
2023/10/23 10:27
2 年前
此快照最后确认于
2023/11/03 10:39
2 年前
查看原帖
CPP
#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分 记录

回复

3 条回复,欢迎继续交流。

正在加载回复...