比赛 |
CSP2022普及组 |
评测结果 |
AAWWWWAWWW |
题目名称 |
解密 |
最终得分 |
30 |
用户昵称 |
崔宸铭 |
运行时间 |
1.147 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2022-10-29 17:25:00 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int k;
long long n,e,d;
long long p,q;
int m;
int main(){
freopen("csp2022pj_decode.in","r",stdin);
freopen("csp2022pj_decode.out","w",stdout);
cin>>k;
while(k--){
cin>>n>>e>>d;
m=n-e*d+2;
int derta=pow(m,2)-4*n;
// cout<<m<<endl;
// cout<<derta<<endl;
// cout<<sqrt(derta)<<endl;
// cout<<m-sqrt(derta)<<endl;
// cout<<m+sqrt(derta)<<endl;
// cout<<(m-sqrt(derta))/2<<endl;
// cout<<(m+sqrt(derta))/2<<endl;
if(derta<0){
cout<<"NO";
continue;
}
int der=sqrt(derta);
if(pow(der,2)!=derta){
cout<<"NO";
continue;
}
if(m-der<=0){
cout<<"NO";
continue;
}
if(((int)(m-der))%2!=0||((int)(m+der))%2!=0){
cout<<"NO";
continue;
}
p=(m-der)/2;
q=(m+der)/2;
cout<<p<<" "<<q<<endl;
}
return 0;
}