求助!改了两天了还是只有60分
查看原帖
求助!改了两天了还是只有60分
906635
TerryBreathe98楼主2023/9/30 08:43

不知道为什么只有60,可能是后面数太大了爆long long了,但不知道怎么改

60分的代码全文

#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;
}
2023/9/30 08:43
加载中...