QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#94962 | #6138. Function and Function | ysghwzp# | AC ✓ | 21ms | 3360kb | C++20 | 613b | 2023-04-08 14:49:35 | 2023-04-08 14:49:36 |
Judging History
answer
#include <bits/stdc++.h>
using i64 = long long;
const int A[] = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};
int f(int x) {
if (x == 0) {
return 1;
}
int ans = 0;
while (x > 0) {
ans += A[x % 10];
x /= 10;
}
return ans;
}
int g(int x, int k) {
if (k == 0) {
return x;
}
if (x >= 2) {
return g(f(x), k - 1);
}
return (x + k) % 2;
}
void solve() {
int x, k;
std::cin >> x >> k;
std::cout << g(x, k) << "\n";
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int T;
std::cin >> T;
while (T--) {
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 3324kb
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: 21ms
memory: 3360kb
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