QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#693738 | #6138. Function and Function | proven# | AC ✓ | 14ms | 3560kb | C++20 | 890b | 2024-10-31 16:40:01 | 2024-10-31 16:40:09 |
Judging History
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;
}
詳細信息
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