40分求助!!!
查看原帖
40分求助!!!
741022
B2214shengmin楼主2023/5/14 21:47

解密测试点信息

下面是代码

#include<bits/stdc++.h>
using namespace std;
long long k,n,e,d,p,q; 
bool flag=0;
int main(){
//	freopen("decode.in","r",stdin);
//	freopen("decode.out","w",stdout);
	cin>>k;
	for(int i=1;i<=k;i++){
		cin>>n>>e>>d;
		int temp=n-e*d+2;//p+q
//		cout<<"temp="<<temp<<endl;
		p=1;q=0;flag=0;
		while(1){
			q=n/p;
			if(q*p!=n){
				p++;
//				f=1;
				continue;
			}
//			cout<<"p="<<p<<" q="<<q<<endl;
			if(p>=temp){
				cout<<"NO\n";
				flag=1;
				break;
			}
			if(p+q==temp)break; 
			p++;
		}
		q=n/p;
		if(flag==0&&p+q==temp&&p<=q&&p*q==n){
			cout<<p<<" "<<q<<endl;
		} else if(flag==0&&(p+q!=temp||p>q||p*q!=n)){
			cout<<"NO\n";
		}
		
	}
	return 0;
}

个位大佬帮忙看一下哪里错了,为什么只有40分

2023/5/14 21:47
加载中...