QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#693738#6138. Function and Functionproven#AC ✓14ms3560kbC++20890b2024-10-31 16:40:012024-10-31 16:40:09

Judging History

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

  • [2024-10-31 16:40:09]
  • 评测
  • 测评结果:AC
  • 用时:14ms
  • 内存:3560kb
  • [2024-10-31 16:40:01]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

#define endl '\n'
#define int long long

void solve() {
    vector<int> mp(10);
    mp[0] = 1, mp[1] = 0, mp[2] = 0, mp[3] = 0, mp[4] = 1;
    mp[5] = 0, mp[6] = 1, mp[7] = 0, mp[8] = 2, mp[9] = 1;
    int x, k;
    cin >> x >> k;
    if(!k) {
        cout << x << endl;
        return;
    }
    for(int i = 1;i <= k;i++) {
        if(x <= 1) {
            int num = k - i + 1;
            if(num & 1) cout << (x ^ 1) << endl;
            else cout << x << endl;
            return;
        }
        int tmp = 0;
        while(x) {
            tmp += mp[x % 10];
            x /= 10;
        }
        x = tmp;
    }
    cout << x << endl;
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T = 1;
    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: 3556kb

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: 14ms
memory: 3560kb

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