样例对但测试点只过2个
查看原帖
样例对但测试点只过2个
600878
JohnGuo200楼主2024/10/3 08:18
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int b=1e5+10;
int32_t main(){
    int k,n[b],e[b],d[b],m;
    cin>>k;
    for(int i=1;i<=k;i++){
        cin>>n[i]>>e[i]>>d[i];
        m = e[i] * d[i];
        for(int j = 2;j * j <= n[i];j++){
			if((j+1)*(j+1)>n[i]&&( (n[i] % j) != 0 || ((m-1) % (j - 1)) != 0 || n[i]/j!=(m-1)/(j-1))){
                cout<<"NO"<<endl;
                break;
            }
            if( (n[i] % j) != 0 || ((m-1) % (j - 1)) != 0 || n[i]/j!=(m-1)/(j-1)+1){
                continue;
            }else{
                cout<<j<<' '<<n[i]/j<<endl;
				break;
            }
			
        }
    }
	return 0;
}
2024/10/3 08:18
加载中...