[悬赏关注]T2优化求助
  • 板块学术版
  • 楼主Lovely_Elaina
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/10/29 15:52
  • 上次更新2023/10/27 05:10:01
查看原帖
[悬赏关注]T2优化求助
781159
Lovely_Elaina楼主2022/10/29 15:52

思路是根据题目推算出 ned=p+q2n-ed=p+q-2 ,然后先判断是否有解,枚举 ppqq ,然后如果 pq=np*q=n ,就输出。

#include <bits/stdc++.h>
using namespace std;
int t,n,e,d;
int main() {
    cin >> t;
    while(t--){
        scanf("%d %d %d",&n,&e,&d);
        if(n-e*d < 0){
            cout << "NO" << endl;
            continue;
        }int p = n-e*d+2;
        for(int i = 1; i < p+1/2; i++){
            int j = p - i;
            if(i * j == n){
                cout << i << " " << j << endl;
                p = 0;
                break;
            }
        }
        if(p == n-e*d+2) cout << "NO" << endl;
    }
    return 0;
}
2022/10/29 15:52
加载中...