社区讨论
求助!改了两天了还是只有60分
P8814[CSP-J 2022] 解密参与者 8已保存回复 14
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @lo193mif
- 此快照首次捕获于
- 2023/10/22 17:12 2 年前
- 此快照最后确认于
- 2023/11/02 17:03 2 年前
不知道为什么只有60,可能是后面数太大了爆long long了,但不知道怎么改
60分的代码全文
CPP#include<bits/stdc++.h>
using namespace std;
long long n,e,d,k;
int main(){
//freopen("decode3.in","r",stdin);
//freopen("decode3.ans","w",stdout);
cin>>k;
while(k--){
cin>>n>>e>>d;
long long paq=n-e*d+2;
long long psq=sqrt(pow(paq,2)-4*n);
long long p=(paq+psq)/2;
long long q=paq-p;
if(n==p*q && e*d==(p-1)*(q-1)+1 && p && q){
printf("%lld %lld\n",min(p,q),max(p,q));
}else{
cout<<"NO"<<endl;
}
}
return 0;
}
回复
共 14 条回复,欢迎继续交流。
正在加载回复...