QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#106524#3061. Donut DroneDeterminantWA 3245ms35532kbC++141.6kb2023-05-17 23:38:282023-05-17 23:38:30

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-17 23:38:30]
  • 评测
  • 测评结果:WA
  • 用时:3245ms
  • 内存:35532kb
  • [2023-05-17 23:38:28]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;const int N=2007,M=45;
int n,m,q,a[N][N],b[N][N],c[N][N],d[N],vis[N],bl[N],fr[N],ed[N],nx,ny;
char ch[9];
void calc(int x,int y){
	int x0=(x+n-2)%n+1,x1=x,x2=x%n+1,y0=y%m+1;
	if(a[x0][y0]>a[x1][y0])b[x][y]=(a[x0][y0]>a[x2][y0]?x0:x2);
	else b[x][y]=(a[x1][y0]>a[x2][y0]?x1:x2);
}
void upd_d(){
	for(int i=1;i<=n;++i){
		int p=i;for(int j=0;j<=bl[m];++j)p=c[j][p];d[i]=p;
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)scanf("%d",&a[i][j]);
	for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)calc(i,j);
	for(int i=1;i<=m;++i)bl[i]=i/M;nx=ny=1;
	for(int i=0;i<=bl[m];++i)fr[i]=max(i*M,1),ed[i]=min(m,i*M+M-1);
	for(int i=0;i<=bl[m];++i){
		for(int j=1;j<=n;++j){
			int p=j;for(int k=fr[i];k<=ed[i];++k)p=b[p][k];
			c[i][j]=p;
		}
	}
	upd_d();
	scanf("%d",&q);while(q--){
		int x,y,z;scanf("%s%d",ch,&x);
		if(ch[0]=='m'){
			while(x&&ny!=m+1)nx=b[nx][ny],ny++,x--;if(ny>m)ny-=m;
			if(!x){printf("%d %d\n",nx,ny);continue;}
			int w=x/m,qt=0;for(int i=1;i<=n;++i)vis[i]=-1;vis[nx]=0;
			while(qt<w){
				nx=d[nx];++qt;
				if(vis[nx]>=0){w=(w-qt)%(qt-vis[nx]);qt=0;break;}
				vis[nx]=++qt;
			}
			while(qt<w)++qt,nx=d[nx];
			for(int i=1;i<=x%m;++i)nx=b[nx][ny],ny++;
			printf("%d %d\n",nx,ny);
		}
		else{
			scanf("%d%d",&y,&z);a[x][y]=z;
			int x0=(x+n-2)%n+1,x1=x,x2=x%n+1,y0=(y+m-2)%m+1;
			calc(x0,y0);calc(x1,y0);calc(x2,y0);y0=bl[y0];
			for(int i=1;i<=n;++i){
				int p=i;for(int j=fr[y0];j<=ed[y0];++j)p=b[p][j];
				c[y0][i]=p;
			}
			upd_d();
		}
	}
}

詳細信息

Test #1:

score: 100
Accepted
time: 2ms
memory: 3576kb

input:

4 4
1 2 9 3
3 5 4 8
4 3 2 7
5 8 1 6
4
move 1
move 1
change 1 4 100
move 1

output:

4 2
1 3
1 4

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 2ms
memory: 3616kb

input:

3 4
10 20 30 40
50 60 70 80
90 93 95 99
3
move 4
change 2 1 100
move 4

output:

3 1
2 1

result:

ok 2 lines

Test #3:

score: 0
Accepted
time: 6ms
memory: 3696kb

input:

20 30
8 1 7 4 3 1 2 1 5 5 2 7 6 4 7 1 2 9 1 9 9 9 9 6 4 9 1 6 3 10
7 3 5 6 5 3 5 3 1 9 8 8 7 7 6 7 5 10 9 6 5 3 8 2 7 10 6 8 4 3
6 4 3 1 7 7 6 7 2 7 3 6 8 6 3 2 7 8 10 8 6 5 6 10 2 6 5 10 10 9
2 5 10 9 4 9 3 6 10 8 1 7 3 3 7 3 3 6 7 5 1 1 10 6 8 5 4 2 1 8
5 1 2 8 3 4 2 4 4 9 6 3 1 5 9 1 9 3 8 3 7 10...

output:

19 10
18 19
3 24
3 30
3 2
4 3
3 8
7 14
3 21
2 27
3 7
3 8
6 16
5 17
3 24
2 27
3 29
3 8
7 12
6 16
3 22
3 2
7 12
3 19
1 22
4 25
4 3
3 5
7 12
3 20
1 22
2 24
3 2
6 11
3 20
2 24
4 4
3 5
5 10
6 11
4 18
2 21
3 29
3 2
3 5
4 9
6 16
2 25
1 26
2 1
4 6
7 15
2 24
3 2
7 12
3 19
3 28
5 4
9 11
9 12
11 17
10 19
12 21...

result:

ok 1945 lines

Test #4:

score: 0
Accepted
time: 18ms
memory: 3956kb

input:

50 50
126812431 909179109 607682292 96000160 425314080 189788877 721251789 103560861 114082307 888028612 277663589 257100764 842807257 327052508 652365304 770138116 384723035 680037089 675501229 509497026 174936063 991259231 761329528 658883078 806406343 741076652 973854314 192609094 398064987 65322...

output:

46 21
46 21
1 49
47 20
46 37
1 42
45 35
50 50
2 17
1 43
2 38
2 47
50 50
2 38
50 50
2 26
2 17
2 34
2 21
4 9
3 6
1 2
1 30
2 40
2 21
2 35
2 17
2 31
2 32
4 9
2 42
3 12
4 8
2 31
1 3
2 15
1 48
1 20
1 30
2 17
49 49
2 14
2 4
1 30
1 29
2 40
2 24
1 27
1 36
1 27
49 47
3 6
2 32
3 41
49 48
2 34
3 41
47 22
49 28
...

result:

ok 502 lines

Test #5:

score: 0
Accepted
time: 40ms
memory: 4676kb

input:

100 191
178 164 436 292 160 15 447 40 415 308 107 456 61 483 370 222 49 178 96 272 359 232 285 356 320 316 56 450 34 30 300 15 53 269 210 271 443 169 387 273 181 175 38 177 167 447 376 252 434 97 334 389 349 216 293 265 227 273 171 351 68 481 430 249 482 117 206 429 359 61 431 207 163 336 329 490 20...

output:

94 140
94 149
98 91
98 19
97 121
94 169
3 51
98 97
1 37
1 37
3 61
97 10
98 13
93 179
95 146
97 8
97 130
96 6
95 158
98 122
94 181
94 140
97 117
94 176
96 133
100 38
99 29
1 68
3 59
3 46
97 124
93 155
95 139
94 143
10 10
13 63
7 184
8 164
13 62
12 57
15 41
10 10
12 84
8 2
11 89
11 119
12 92
7 166
9 7...

result:

ok 516 lines

Test #6:

score: 0
Accepted
time: 556ms
memory: 35312kb

input:

1999 1971
274359794 615065638 314433231 715787778 486221282 877103113 462895814 602525302 496926569 16482389 7389157 94419868 841896951 423947821 735538885 670514061 398818169 503874450 256795479 71430930 757204344 924882965 721532878 511539013 917383058 160383266 270331386 296482213 104942177 30363...

output:

19 867
17 863
19 472
21 898
27 1104
29 1490
35 1470
28 64
21 24
34 1360
32 1384
10 756
17 915
30 1504
32 1398
22 16
35 1141
15 553
21 378
34 1168
18 455
16 515
33 1299
28 1556
34 1599
35 1443
9 685
32 1572
31 1205
22 386
26 1959
31 1200
20 817
30 1407
17 877
11 737
24 121
30 1546
25 156
10 997
18 44...

result:

ok 4951 lines

Test #7:

score: 0
Accepted
time: 3245ms
memory: 35300kb

input:

1999 1972
908570368 576114585 871607413 105528864 717151909 868091308 442016015 96884299 951725816 178293034 660937316 882194661 290229206 116518447 685144293 777163613 825739358 379460279 316897433 343444500 220852674 464535570 629533274 19187139 768795424 839233681 621997087 563642576 573864427 21...

output:

11 50
30 1407
22 1111
23 1496
9 103
7 991
23 1154
1999 536
10 102
1998 414
30 1294
36 1388
19 3
1991 817
17 1891
26 1416
14 134
1991 649
1993 556
12 1559
22 1155
21 1107
1996 268
1996 269
1997 848
1990 611
1997 683
20 1157
11 50
1 251
12 151
14 135
18 1091
36 1358
1999 237
12 1555
8 918
18 1
19 1464...

result:

ok 55 lines

Test #8:

score: 0
Accepted
time: 392ms
memory: 35304kb

input:

1999 1971
5 4 5 5 2 3 2 2 1 1 5 3 4 3 5 4 2 3 4 1 2 3 5 2 3 5 5 5 2 2 1 2 2 3 5 5 4 1 4 1 1 2 1 3 5 1 5 3 4 4 4 1 2 4 3 3 4 2 1 3 4 3 4 2 4 2 4 1 1 3 3 1 3 1 2 4 3 4 5 5 2 5 2 4 5 5 1 5 5 2 1 1 4 4 1 1 2 4 2 4 5 1 3 3 5 2 5 2 2 5 1 2 1 3 4 3 3 5 5 4 4 5 4 5 2 5 2 4 1 1 2 3 2 1 5 3 5 1 5 4 3 3 5 3 5 ...

output:

100 1816
98 151
84 910
92 271
101 1589
91 1067
96 1691
98 413
88 202
100 1658
88 1967
100 147
92 271
87 1293
84 1251
98 134
93 1929
97 294
99 454
99 118
85 1247
99 462
92 1764
86 1279
96 175
98 1688
88 1377
99 1533
97 375
92 1355
89 1023
94 159
92 1773
82 849
93 47
94 1846
99 1805
101 1660
84 1046
1...

result:

ok 4944 lines

Test #9:

score: 0
Accepted
time: 2998ms
memory: 35276kb

input:

1999 1972
5 1 2 5 2 3 3 3 4 3 2 3 3 1 4 1 6 5 4 6 2 5 1 1 1 4 5 4 3 1 2 3 5 5 4 5 6 5 1 6 6 2 6 4 4 1 5 5 5 4 2 2 5 5 5 2 1 5 1 6 3 4 2 1 5 3 3 3 2 3 4 1 4 5 5 2 5 3 4 5 3 6 3 3 4 6 5 3 4 1 4 2 6 1 1 5 1 3 3 6 5 2 3 2 6 6 5 1 5 5 3 3 5 4 5 5 2 5 2 5 3 2 1 3 5 1 1 3 4 4 1 6 2 4 6 3 3 3 4 6 4 1 6 3 1 ...

output:

1926 1347
1944 1057
1940 710
1930 1764
1943 42
1931 563
1942 1917
1926 410
1942 1053
1932 1122
1928 335
1940 705
1917 462
1923 371
1922 524
1926 1246
1939 842
1933 940
1932 656
1923 1320
1926 583
1926 1219
1937 1827
1921 1646
1935 13
1941 1070
1941 822
1929 1160
1936 1809
1919 241
1927 387
1933 671
...

result:

ok 51 lines

Test #10:

score: 0
Accepted
time: 1709ms
memory: 35532kb

input:

2000 1999
6 6 4 5 4 2 3 1 1 2 5 1 1 2 6 3 1 5 5 4 5 2 4 1 6 6 1 4 2 3 5 6 1 4 6 4 4 3 4 3 6 3 2 4 3 2 1 3 1 2 6 2 6 1 5 4 4 2 5 6 2 3 2 1 3 3 4 3 6 4 1 2 1 4 1 1 1 6 6 3 5 4 4 2 2 3 3 4 2 4 4 4 3 6 6 6 2 6 3 3 6 2 4 5 2 1 5 6 6 3 1 3 4 6 4 4 1 3 5 4 1 6 6 6 6 5 2 5 1 3 2 3 4 1 4 6 5 2 6 6 5 1 5 3 6 ...

output:

1996 429
7 1375
1990 162
2000 1918
1 499
7 1392
1999 1605
3 1859
1992 690
3 1531
1985 101
9 1290
2000 1511
6 1819
1 1540
8 1811
8 1067
1 918
1993 166
2000 1519
11 1081
1996 173
7 1392
1979 129
11 1091
1999 1958
1994 214
8 1483
1997 399
1997 1708
1992 1634
2000 930
3 1172
2000 1195
2 339
1985 97
2000...

result:

ok 2513 lines

Test #11:

score: -100
Wrong Answer
time: 910ms
memory: 35360kb

input:

1998 2000
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ...

output:

307 381
1105 1816
931 485
1000 1313
772 1068
1951 1753
1138 696
427 1877
1537 837
1489 1404
841 403
271 514
142 723
466 1116
1741 365
667 105
1531 1847
1966 1301
1687 408
988 1197
1639 1496
1972 267
1867 743
1582 1198
880 1420
610 80
790 1613
1486 1082
1027 1309
1969 1479
844 776
34 772
1753 915
100...

result:

wrong answer 1st lines differ - expected: '1195 381', found: '307 381'