QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#749055 | #9622. 有限小数 | AmiyaCast | WA | 6ms | 3668kb | C++20 | 1.7kb | 2024-11-14 22:30:14 | 2024-11-14 22:30:16 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int, int>
const int P = 998244353;
int exgcd(int a, int b, int &x, int &y){
if (!b) {
x = 1, y = 0;
return a;
}
int d = exgcd(b, a % b, y, x);
y -= a / b * x;
return d;
}
int ex(int a, int b, int c, int &x, int &y)
{
int g = exgcd(a, b, x, y);
x *= c / g, y *= c / g;
int p = b / g, q = a / g;
if (x <= 0) {
y -= (p - x) / p * q;
x += (p - x) / p * p;
} else {
y += (x - 1) / p * q;
x -= (x - 1) / p * p;
}
if (y <= 0) {
return 0;
} else {
return 1;
}
}
int zhi(int x)
{
int z = 1, t = x;
for (int i = 2; i * i <= x; i++)
{
while (t % i == 0)
{
t /= i;
if (i != 2 && i != 5) z *= i;
}
}
if (t > 1 && (t != 2 && t != 5)) z *= t;
return z;
}
void solve()
{
int aa, bb;
cin >> aa >> bb;
int z = zhi(bb);
if (z == 1)
{
cout << 0 << ' ' << 1 << '\n';
return;
}
for (int i = 1; i <= 10; i++)
{
int x, y;
int f = ex(z, -aa, i, x, y);
if (f)
{
// cout << i << ' ' << x << ' ' << y << ' ';
int ansy = bb * y;
// cout << ansx << ' ' << ansy / z << '\n';
if (zhi(ansy / z) == 1)
{
cout << i << ' ' << y * bb << '\n';
return;
}
}
}
}
main() {
ios::sync_with_stdio(0); cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
while(t--) solve();
return 0;
}
/*
4
1 2
2 3
3 7
19 79
*/
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3632kb
input:
4 1 2 2 3 3 7 19 79
output:
0 1 1 3 1 14 3 316
result:
ok 4 case(s)
Test #2:
score: -100
Wrong Answer
time: 6ms
memory: 3668kb
input:
10000 11 12 28 53 17 60 2 35 17 181 80 123 68 141 79 163 71 99 13 64 33 61 15 32 16 61 11 86 33 74 128 143 40 53 7 23 30 31 5 6 86 181 73 91 13 23 71 81 1 2 7 38 117 160 33 83 129 151 88 153 25 58 16 19 19 141 95 124 43 96 71 139 11 59 106 109 93 152 34 43 17 99 1 57 20 159 16 25 5 73 159 170 172 17...
output:
1 12 5 1696 1 60 3 70 5 282 5 326 5 3168 0 1 0 1 3 740 7 1430 7 1325 3 368 1 31 1 6 9 362 4 115 7 2025 0 1 1 304 0 1 1 415 3 464 3 19 1 192 1 944 3 109 1 1520 2 215 1 6336 7 2850 0 1 3 1360 1 22912 2 325 1 1360 7 172 1 130 9 3425 0 1 7 568 4 990 9 1490 3 770 5 26 1 15 1 270 1 920 5 264 9 752 1 176 2...
result:
wrong answer Jury found better answer than participant's 1 < 5 (Testcase 2)