QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#227286#7606. Digital Nimucup-team1004#WA 2ms6932kbC++141.5kb2023-10-27 09:58:192023-10-27 09:58:19

Judging History

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

  • [2023-10-27 09:58:19]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:6932kb
  • [2023-10-27 09:58:19]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
template<typename T>
ostream& operator << (ostream &out,const vector<T> &x){
	if(x.empty())return out<<"[]";
	out<<'['<<x[0];
	for(int i=1,len=x.size();i<len;i++)out<<','<<x[i];
	return out<<']';
}
template<typename T>
vector<T> ary(const T *a,int l,int r){
	return vector<T>{a+l,a+1+r};
}
template<typename T>
void debug(T x){
	cerr<<x<<endl;
}
template<typename T,typename ... S>
void debug(T x,S...y){
	cerr<<x<<' ',debug(y...);
}
int count(ll n){
	int ans=0;
	for(;n;n/=10)ans+=n%10;
	return ans;
}
ll nex(ll n,int s=0){
	for(ll i=n+10;;i+=10){
		if(i-count(i)-s>n)return i;
	}
	return -1;
}
const int N=20,M=200;
int T,his[N][M][M];
ll n,pw[N];
int nex(int d,int s,int i){
	int las=i;
	if(~his[d][s][las])return his[d][s][las];
	if(d<3){
		for(;i<pw[d+1];i=nex(i,s));
		return his[d][s][las]=i-pw[d+1];
	}
	for(;i/pw[d]<9;){
		int x=nex(d-1,s+i/pw[d],i%pw[d]);
		i+=x-i%pw[d]+pw[d];
	}
	return his[d][s][las]=nex(d-1,s+i/pw[d],i%pw[d]);
}
void get(){
	scanf("%lld",&n);
	if(n%10){
		puts("Algosia");return;
	}
	ll i=0;
	for(int d=18;d>=3;d--){
		for(;i/pw[d]%10<n/pw[d]%10;){
			// debug(i,d-1,count(i/pw[d]),i%pw[d],nex(d-1,count(i/pw[d]),i%pw[d]));
			i=i+nex(d-1,count(i/pw[d]),i%pw[d])-i%pw[d]+pw[d];
			// debug(i);
		}
	}
	for(;i<n;i=nex(i));
	puts(i==n?"Bajtek":"Algosia");
	// if(i^n)debug(i,n);
}
int main(){
	memset(his,-1,sizeof his);
	for(int i=pw[0]=1;i<=18;i++)pw[i]=pw[i-1]*10;
	for(scanf("%d",&T);T--;)get();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

4
1
10
42
190

output:

Algosia
Bajtek
Algosia
Algosia

result:

ok 4 lines

Test #2:

score: 0
Accepted
time: 1ms
memory: 6932kb

input:

1
1

output:

Algosia

result:

ok single line: 'Algosia'

Test #3:

score: -100
Wrong Answer
time: 2ms
memory: 6800kb

input:

10000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
10...

output:

Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Bajtek
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Bajtek
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Bajtek
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia
Algosia...

result:

wrong answer 10000th lines differ - expected: 'Bajtek', found: 'Algosia'