3 条题解

  • 0
    @ 2025-11-22 14:24:16
    #include <iostream>
    #include <cmath>
    using namespace std;
    typedef long long ll;
    int main() {
        int k;
        cin >> k;
        while (k--) {
            ll n, e, d;
            cin >> n >> e >> d;
            ll m = n - e * d + 2;
            ll delta = m * m - 4 * n;
            if (delta < 0) {
                cout << "NO\n";
                continue;
            }
            ll root = sqrt(delta);
            if (root * root != delta) {
                cout << "NO\n";
                continue;
            }
            ll p = (m - root) / 2;
            ll q = (m + root) / 2;
            if (p > 0 && q > 0 && p * q == n) {
                cout << p << " " << q << "\n";
            } else {
                cout << "NO\n";
            }
        }
        return 0;
    }
    

    信息

    ID
    2917
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    193
    已通过
    48
    上传者