QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#720246#6138. Function and FunctionMLK2AC ✓17ms3644kbC++141.2kb2024-11-07 11:23:292024-11-07 11:23:29

Judging History

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

  • [2024-11-07 11:23:29]
  • 评测
  • 测评结果:AC
  • 用时:17ms
  • 内存:3644kb
  • [2024-11-07 11:23:29]
  • 提交

answer

#include <bits/stdc++.h>
#define N (200000 + 10)  /*------------------ #define ------------------*/
#define M (400000 + 10)
#define MOD (1000000000 + 7)
//#define MOD (998244353)
#define INF (0x3f3f3f3f)
#define LNF (3e18)
#define mod(a,b) (((a)%(b)+(b))%(b))
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define fi first
#define se second
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
typedef pair<LL,LL> PLL;
typedef pair<int,LL> PIL;
typedef pair<LL,int> PLI;
typedef pair<double,double> PDD;

LL a[10] = {1,0,0,0,1,0,1,0,2,1};

auto solve(){
	
	LL n,k;
	cin >> n >> k;
	
	if(!k){
		cout << n << '\n';
		return;
	}
	
	auto f = [&](LL x){
		int ans = 0;
		while(x){
			ans += a[x % 10];
			x /= 10;
		}
		return ans;
	};
	
	LL t = 0,now = n;
	while(now != 0 && t < k){
		now = f(now);
		t ++ ;
	}
	
	if(t == k){
		cout << now << '\n';
	}else{
		cout << ((k - t + 1) % 2 == 1 ? 0 : 1) << '\n';
	}
}

signed main(){
	IOS
	int T = 1;
	//
	cin >> T;
	while(T -- ) solve();
	//while(T -- ) cout << (solve() ? "YES" : "NO") << '\n';

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 17ms
memory: 3644kb

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