QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#417978#7979. 棋盘kkkgjyismine4100 ✓76ms3968kbC++141.7kb2024-05-23 08:24:232024-05-23 08:24:24

Judging History

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

  • [2024-05-23 08:24:24]
  • 评测
  • 测评结果:100
  • 用时:76ms
  • 内存:3968kb
  • [2024-05-23 08:24:23]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll mx=1e18;
struct BigInt{
	ll val[7];
	void init(){memset(val,0,sizeof(val));}
}f[1030];
BigInt operator+(BigInt a,BigInt b){
	ll lst=0;
	for(int i=0;i<7;++i){
		a.val[i]=a.val[i]+b.val[i]+lst;
		lst=a.val[i]/mx,a.val[i]%=mx;
	}return a;
}
BigInt operator-(BigInt a,BigInt b){
	ll lst=0;
	for(int i=0;i<7;++i){
		a.val[i]=a.val[i]-b.val[i]-lst,lst=0;
		while(a.val[i]<0)a.val[i]+=mx,++lst;
	}return a;
}
bool operator>=(BigInt a,BigInt b){
	for(int i=6;i>=0;--i){
		if(a.val[i]>b.val[i])return 1;
		if(a.val[i]<b.val[i])return 0;
	}return 1;
}
int ax[1030],ay[1030],id[1030],n,k,q,x,y;
char t[1030],res[1030];
int main(){
	n=960;cin>>k>>q>>x>>y;f[0].val[0]=f[1].val[0]=1ll;
	for(int i=2;i<n;++i)f[i]=f[i-1]+f[i-2];ax[0]=ay[0]=id[0]=1;
	for(int i=1;i<n;++i){
		if(i&1)ax[i]=ax[i-1]+1,ay[i]=ay[i-1],id[i]=id[i-1]+1;	
		else{
			if(i==2)ax[i]=ax[i-1],ay[i]=ay[i-1]+1,id[i]=id[i-1]+2;
			else ax[i]=ax[i-1],ay[i]=ay[i-1]+1,id[i]=id[i-1]+3;
		}
	}
	cout<<n-2<<endl;
	cout<<1<<" "<<1<<endl;
	cout<<2<<" "<<1<<endl;
	for(int i=2;i<=n/4;++i){
		cout<<i-1<<" "<<i<<endl;
		cout<<i<<" "<<i<<endl;
		cout<<i+1<<" "<<i<<endl;
		cout<<i+1<<" "<<i-1<<endl;
	}
	while(q--){
		for(int i=0;i<n-2;++i)res[i]='0';res[n-2]=0;
		scanf("%s",t+1);int id1=0,len=strlen(t+1);
		reverse(t+1,t+len+1);
		BigInt now;now.init();
		for(int l=1;l<=len;l+=18){
			int r=min(l+17,len);ll v=0;
			for(int i=r;i>=l;--i)v=v*10ll+(ll)(t[i]-'0');
			now.val[id1]=v;++id1;
		}
		for(int i=n-1;i>=0;--i)
		    if(now>=f[i]){
		    	now=now-f[i];
		    	res[id[i]-1]='1';
			}
		printf("%s\n",res);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 3ms
memory: 3912kb

input:

3 999 1000 340
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
...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #2:

score: 10
Accepted

Test #2:

score: 10
Accepted
time: 43ms
memory: 3912kb

input:

12 10000 1000 340
358908473750
36343501002
904324605639
453955046266
725478753662
218319365131
882878650993
648345848966
474401697383
722377018680
718743783955
748051292505
167886140898
411111004914
327825244967
990026144963
623309580364
970889332700
319445927842
527624602835
453135227321
1153226125...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #3:

score: 10
Accepted
time: 32ms
memory: 3828kb

input:

12 10000 1000 340
930556110177
377904923573
36236934395
488122716493
51121341209
392176146788
323693311937
449196823461
336471392319
92713238333
281418059653
761936598942
293730650349
106748001462
609643804851
703543108800
999258707162
376689099489
435462123411
710775118008
45582546742
835557591196
...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #4:

score: 10
Accepted
time: 38ms
memory: 3908kb

input:

12 10000 1000 340
737930395319
182266797635
731674395027
268811900200
40636281734
385606961047
579973266668
244481758021
889308913416
116731076438
760018797175
690646649762
295657481984
860132997501
798927396859
973501342055
371555705903
89078273643
755892420101
664745115837
527923357928
12789900388...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #3:

score: 10
Accepted

Test #5:

score: 10
Accepted
time: 69ms
memory: 3928kb

input:

100 10000 1000 340
87490023455826213450979333037504606824522062808297739018786336978222089712660133428564103979384831
874900289913204769749000879539227331559680630241808944569515663934025397982898503777823815274323967
8749002899116133353924895735921513229471979456689635148877567298640178774668643967...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #6:

score: 10
Accepted
time: 68ms
memory: 3856kb

input:

100 10000 1000 340
8748936149282545611299720421204578485624739530690115026507467181657344327662766924981916612956258303
8714827106557313136171687656546075434718184787427526246530142735325290665843132579235229445895749631
8749002377650837755861570823748389228611868494396845969260163830921683752297192...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #4:

score: 10
Accepted

Test #7:

score: 10
Accepted
time: 69ms
memory: 3916kb

input:

100 10000 990 310
4083451712318559926139496762164571032902328806667934236880329773320213539959944736095945843081512968
7811890641057562314768022152641517082686481268288006737090208624016586608183953908313798353213188661
97358161226180890688421784730819518002666166790210320310558753031161862165361257...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #8:

score: 10
Accepted
time: 75ms
memory: 3928kb

input:

100 10000 990 310
536242740270410789572341652869398338093269589584059146826540461135298742334471009085914940446278287
4201975342869797382342066007535560618192359692007374881623572540610172361008282611340412383037024069
963134484370112575147508066354646119797740257454037562403391582920830075099761880...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #5:

score: 10
Accepted

Test #9:

score: 10
Accepted
time: 72ms
memory: 3908kb

input:

100 10000 1050 260
8749002899132047697490008908470485461412677723566863434996575047286849703722697797645542008396185599
8749002899132047697490008908470485461412677699052921091826559946707718798046219210886366418022957055
7655377536740541735303757766642121742076255665128332760334129720709510994307378...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #10:

score: 10
Accepted
time: 65ms
memory: 3904kb

input:

100 10000 1050 260
8749002899132047697490008908470485461412677723572849745703082425639811996797503692892926808185372671
874900289913204769701566661490981966686019183484759731181812123183820701469425350909196577361887231
87490028991280691115987306153332424033768113943575511927837611721527450026923859...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #6:

score: 10
Accepted

Test #11:

score: 10
Accepted
time: 76ms
memory: 3852kb

input:

100 10000 1050 240
8749002899132047697490008908470485461412677723572849734285100881333676956761384191490477496469520383
874886939179415873527191365288672777702448917037688119492655525651250910013304087281579324577152991
87490028991320476974900089084704854614126777235728490149522637601883528949454159...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #12:

score: 10
Accepted
time: 72ms
memory: 3932kb

input:

100 10000 1050 240
8748869399942302640609859219613849864404711585518072959767189754493152526763381301362784876544131071
8749002898113529709322765865336262617207988643047115548870114300321741770881768540817196765514039295
8749002899132047697490008908470485448242213512826165447361161116479336307579296...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #7:

score: 20
Accepted

Test #13:

score: 20
Accepted
time: 2ms
memory: 3928kb

input:

100 1 980 260
8749002899132047697490008908470485461309833682610292204604841418296589481615503153703163411103219711

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #14:

score: 20
Accepted
time: 0ms
memory: 3968kb

input:

100 1 980 260
26140399507039494187363454808469075954177491358550589658445256177636481188801043146566104810349008

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #15:

score: 20
Accepted
time: 0ms
memory: 3916kb

input:

100 1 980 260
2916334299201423571746379638671656065302994540964775389402649871877310689655011516150737480170427669

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #16:

score: 20
Accepted
time: 0ms
memory: 3844kb

input:

100 1 980 260
133733063818254349335501779590031438654517135520213587361323145147457390997763303065570586431533875

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #17:

score: 20
Accepted
time: 0ms
memory: 3852kb

input:

100 1 980 260
9216845717656874712980450562726202415567360565980794777111390850331644813674856981646960226192287360

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #18:

score: 20
Accepted
time: 0ms
memory: 3868kb

input:

100 1 980 260
5264952002436106359851318041422054633517706683530105573021775026464088057584242164048188378737906836

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Subtask #8:

score: 25
Accepted

Test #19:

score: 25
Accepted
time: 69ms
memory: 3932kb

input:

100 10000 960 240
8749002899132047697015724510954438324957730968977252383122989921226002617013223698533483281626692607
8749002899132047697490008908470485461412677720507858663971304708923117942496885325656574463725010943
87148271065573131361716885470369961093519598137825155235803895087505468828694702...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct

Test #20:

score: 25
Accepted
time: 74ms
memory: 3908kb

input:

100 10000 960 240
87490028991320476974751875210481089883984606374917376934978638676026103357677379577201035900354559
874900289913204769748997996044817613236382183082659757372611910814364558665649382849850729809805311
87490028979301854287209922417527640508689863212316623120229713820718860216280007473...

output:

958
1 1
2 1
1 2
2 2
3 2
3 1
2 3
3 3
4 3
4 2
3 4
4 4
5 4
5 3
4 5
5 5
6 5
6 4
5 6
6 6
7 6
7 5
6 7
7 7
8 7
8 6
7 8
8 8
9 8
9 7
8 9
9 9
10 9
10 8
9 10
10 10
11 10
11 9
10 11
11 11
12 11
12 10
11 12
12 12
13 12
13 11
12 13
13 13
14 13
14 12
13 14
14 14
15 14
15 13
14 15
15 15
16 15
16 14
15 16
16 16
17 1...

result:

ok correct