社区讨论
20PTS求条,用的暴力枚举TLE,求新思路讲解
P8255[NOI Online 2022 入门组] 数学游戏参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m6ae5znj
- 此快照首次捕获于
- 2025/01/24 14:39 去年
- 此快照最后确认于
- 2025/11/04 10:45 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
long long x[500005],z[500005];
long long gcd(long long x, long long y) {
long long max_number = -9999;
for (int i = 1; i <= min(x,y); i++)
if (x % i == 0 && y % i == 0 && i > max_number)
max_number = i;
return max_number;
}
int main() {
long long n;
cin >> n;
for (long long i = 1; i <= n; i++)
cin >> x[i] >> z[i];
for (long long i = 1; i <= n; i++) {
long long maxn = -9999;
for (long long y = 1; y <= max(x[i],z[i]); y++)
if (z[i] == x[i] * y * gcd(x[i],y) && y > maxn)
maxn = y;
if (maxn != -9999)
cout << maxn << endl;
else
cout << -1 << endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...