只有60分,求dalao解答
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int main() {
ll k;
ll z, x, y;
scanf("%lld", &k);
for (int i = 1; i <= k; ++i) {
scanf("%lld%lld%lld", &z, &x, &y);
ll p = (z - x * y + 2 + sqrt(pow(z - x * y + 2, 2) - 4 * z)) / 2;
ll q = (z - x * y + 2 - sqrt(pow(z - x * y + 2, 2) - 4 * z)) / 2;
if (z == p * q && x * y == (p - 1) * (q - 1) + 1 && p && q) {
printf("%lld %lld\n", q, p);
} else {
printf("NO\n");
}
}
return 0;
}
题目:
P8814 [CSP-J 2022] 解密