QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#803452#9868. GCDucup-team3734#WA 2ms3868kbC++23900b2024-12-07 17:12:592024-12-07 17:13:07

Judging History

你现在查看的是最新测评结果

  • [2024-12-07 17:13:07]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3868kb
  • [2024-12-07 17:12:59]
  • 提交

answer

#include "bits/stdc++.h"

using namespace std;

using ll = long long;
using ld = long double;

#define all(x) (x).begin(), (x).end()

const int M = 5050;
const ll inf = 1e18;

map<ll, ll> mem[M];

ll gcd(ll a, ll b) {
  while (a) {
    b %= a;
    swap(a, b);
  }
  return b;
}

ll rec(ll a, ll b) {
//  cerr << a << " " << b << "\n";
  if (mem[a].contains(b))
    return mem[a][b];

  if (a == 0 && b == 0)
    return 0;

  if (a == 0 || b == 0)
    return 1;

  if (a == 1)
    return 2;

  int k = 0, g;
  while ((g = gcd(a, b - k)) == 1)
    ++k;

  return mem[a][b] = min(rec(a - 1, b) + 1, rec(a / g, (b - k) / g) + k);
}

int main() {
#ifndef ONLINE_JUDGE
  freopen("g.txt", "r", stdin);
#endif
  ios_base::sync_with_stdio(false);

  int t;
  cin >> t;
  while (t--) {
    ll a, b;
    cin >> a >> b;
    ll g = gcd(a, b);
    a /= g, b /= g;
    cout << rec(a, b) << "\n";
  }

  return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3760kb

input:

3
3 4
12 20
114 514

output:

3
4
6

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 2ms
memory: 3868kb

input:

990
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
2 3
2 4
2...

output:

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
3
3
2
3
4
2
...

result:

wrong answer 342nd lines differ - expected: '5', found: '4'