QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#747875#6138. Function and Functiontassei903#AC ✓43ms3620kbC++201.0kb2024-11-14 18:33:502024-11-14 18:33:51

Judging History

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

  • [2024-11-14 18:33:51]
  • 评测
  • 测评结果:AC
  • 用时:43ms
  • 内存:3620kb
  • [2024-11-14 18:33:50]
  • 提交

answer

#include <bits/stdc++.h>

#define rep(i, l, r) for(int i = (int)l; i < (int)r; i++)
#define all(v) v.begin(), v.end()
#define sz(v) (int)v.size()
using namespace std;

using ll = long long;
using pll = pair<ll, ll>;
using pii = pair<int, int>;
using ld = long double;

typedef vector<ll> vl;
typedef vector<int> vi;

template<class T>
void out(const vector<T> &v) {
    for (auto x: v)cout << x << " ";
    cout << endl;
}
vector<int> f = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};

void solve() {
    
    int n, k; cin >> n >> k;
    auto dfs = [&](auto self, int n, int k)-> int{
        if (k == 0) return n;
        if (n == 0) return k % 2;
        if (n == 1) return 1 - (k % 2);
        int x = 0;
        while(n > 0) {
            x += f[n % 10];
            n /= 10;
        }
        return self(self, x, k - 1);
    };

    cout << dfs(dfs, n, k) << endl;

}

int main() {


    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T; cin >> T;
    while(T--) {
        solve();
    }
    
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 43ms
memory: 3620kb

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