QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#266844#6138. Function and FunctionzlxFTHAC ✓18ms3576kbC++17712b2023-11-26 18:20:502023-11-26 18:20:50

Judging History

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

  • [2023-11-26 18:20:50]
  • 评测
  • 测评结果:AC
  • 用时:18ms
  • 内存:3576kb
  • [2023-11-26 18:20:50]
  • 提交

answer

#include <bits/stdc++.h>
#define rep(i, a, b) for (auto cc##i = (b), i = (a); i <= cc##i; ++i)
#define per(i, a, b) for (auto cc##i = (b), i = (a); i >= cc##i; --i)
#define debug(...) fprintf(stderr, __VA_ARGS__)
using namespace std;

const int w[] = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};

int g(int x, int k) {
  if (!k) return x;
  if (x == 0) return (k & 1) ? 1 : 0;
  if (x == 1) return (k & 1) ? 0 : 1;
  int y = x, v = 0;
  do {
    v += w[y % 10];
    y /= 10;
  } while (y);
  return g(v, k - 1);
}

void solve() {
  int x, k;
  cin >> x >> k;
  cout << g(x, k) << "\n";
}

int main() {
  cin.tie(0)->sync_with_stdio(0);
  int t;
  cin >> t;
  while (t--) solve();
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3572kb

input:

6
123456789 1
888888888 1
888888888 2
888888888 999999999
98640 12345
1000000000 0

output:

5
18
2
0
0
1000000000

result:

ok 6 numbers

Test #2:

score: 0
Accepted
time: 18ms
memory: 3576kb

input:

100000
579268184 2
120252252 777743676
255650198 1
152055433 207664522
137430584 754115403
646417467 164848484
743551976 0
0 408695577
363072674 569574204
464290891 0
761830281 3
0 1
49176280 2
791182580 0
474930784 3
402374924 0
739903247 91553857
0 2
688106229 2
65907033 152261569
875191599 3
5319...

output:

0
0
5
0
1
1
743551976
1
1
464290891
0
1
1
791182580
1
402374924
0
0
2
0
1
1
2
1
0
0
0
3
0
0
0
1
0
0
1
0
2
0
1
1
1
0
1
0
0
0
0
0
0
1
55349255
486354015
1
1
0
1
1
0
1
1
0
1
0
9
0
1
1
0
0
1
0
1
1
1
0
0
0
0
25600152
0
0
1
22903397
705086250
771453912
1
1
0
0
1
0
1
1
1
2
1
1
1
1
1
1
6
3
3
1
0
1
0
1
86248...

result:

ok 100000 numbers