QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#94962#6138. Function and Functionysghwzp#AC ✓21ms3360kbC++20613b2023-04-08 14:49:352023-04-08 14:49:36

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-04-08 14:49:36]
  • 评测
  • 测评结果:AC
  • 用时:21ms
  • 内存:3360kb
  • [2023-04-08 14:49:35]
  • 提交

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;
}

详细

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