社区讨论

10分代码,不知道哪里出问题了

P8814[CSP-J 2022] 解密参与者 3已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lo7mnrit
此快照首次捕获于
2023/10/27 04:19
2 年前
此快照最后确认于
2023/10/27 04:19
2 年前
查看原帖
CPP

#include<bits/stdc++.h>
using namespace std;
long long n,e,d,m,ans1,p,q;
int k;
bool check_sqr(long long x)
{
  long long t=sqrt(x);
  return t*t==x;
}
int main()
{
  //  freopen("decode.in", "r", stdin);
  //  freopen("decode.out", "w", stdout);
  cin>>k;
  while(k--)
  {
    cin>>n>>e>>d;
  m=n+2-e*d;
  if(m*m-4*n>=0&&check_sqr(m*m-4*n))
  {
    ans1=m+(sqrt(m*m-4*n));
    if(ans1%2==0) q=ans1/2;
    else 
    {
      cout<<"NO"<<endl;
    }
    if(p<q)
    {
      p=m-q;
    }
    else
    {
      cout<<"NO"<<endl;
    }
    cout<<p<<" "<<q<<endl;
  }
  else cout<<"NO"<<endl;
  }
  
 return 0;
}

回复

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

正在加载回复...