QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#533208#8643. Board Gamekimmoqt#3 19ms8352kbC++201.7kb2024-08-25 18:35:302024-08-25 18:35:30

Judging History

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

  • [2024-08-25 18:35:30]
  • 评测
  • 测评结果:3
  • 用时:19ms
  • 内存:8352kb
  • [2024-08-25 18:35:30]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

const int MX=5e4+5;

int N,M,K;
string s;
ll X[MX], dist[MX], T[MX], F[MX];
bool S[MX];
vector<int> adj[MX];

int main() {
	cin.tie(0); ios_base::sync_with_stdio(0);

	cin>>N>>M>>K;

	for(int i=0;i<M;i++) {
		int u,v;
		cin>>u>>v;
		adj[u].push_back(v);
		adj[v].push_back(u);
	}

	cin>>s;

	int node=0;
	for(int i=0;i<N;i++) {
		S[i+1]=s[i]-'0';
		if(S[i+1]) node=i+1;
	}

	for(int i=1;i<=K;i++) {
		cin>>X[i];
	}		

	for(int i=1;i<=N;i++) {
		dist[i]=-1;
	}

	// 1 -> stop node
	dist[X[1]]=0;
	queue<int> q;
	q.push(X[1]);
	while(!q.empty()) {
		auto v=q.front(); q.pop();
		if(S[v]) continue;
		for(auto u:adj[v]) {
			if(dist[u]==-1) {
				dist[u]=dist[v]+1;
				q.push(u);
			}
		}
	}

	for(int i=1;i<=N;i++) {
		F[i]=dist[node];
	}

	for(int i=1;i<=N;i++) {
		if(dist[i]!=-1) T[i]=dist[i];
		else T[i]=1e18;
	}

	// 1 -> stop node, other K-1 node -> stop node, stop node -> other N node
	for(int i=1;i<=N;i++) dist[i]=1e18;
	
	q.push(node);
	dist[node]=0;

	while(!q.empty()) {
		auto v=q.front(); q.pop();
		for(auto u:adj[v]) {
			if(dist[u]==1e18) {
				dist[u]=dist[v]+1;
				q.push(u);
			}
		}
	}	

	ll sum=0;
	for(int i=2;i<=K;i++) {
		sum+=dist[X[i]];
	}

	for(int i=1;i<=N;i++) {
		F[i]+=sum;
	}

	for(int i=1;i<=N;i++) dist[i]=1e18;
	q.push(node);
	dist[node]=0;

	while(!q.empty()) {
		auto v=q.front(); q.pop();
		for(auto u:adj[v]) {
			if(dist[u]==1e18) {
				dist[u]=dist[v]+1;
				q.push(u);
			}
		}
	}

	for(int i=1;i<=N;i++) {
		F[i]+=dist[i];
	}

	for(int i=1;i<=N;i++) {
		if(node!=0) {
			T[i]=min(T[i],F[i]);
		}
	}

	for(int i=1;i<=N;i++) {
		cout<<T[i]<<'\n';
	}

}


Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 3
Accepted

Test #1:

score: 3
Accepted
time: 2ms
memory: 3848kb

input:

3000 3000 3000
2378 2385
1560 2450
189 2980
44 1140
425 1843
167 1563
439 2010
7 951
1311 1370
1305 2085
150 1600
16 2469
431 2674
317 2191
1845 2918
2195 2917
1210 1577
125 1049
911 1160
504 2060
376 2420
1676 2969
1343 1576
284 1869
835 1989
273 1330
234 1906
1482 1524
2415 2460
388 2897
2177 2600...

output:

76
52
40
54
67
54
62
36
44
32
60
61
58
29
34
22
64
25
31
33
14
79
80
58
68
29
67
69
47
60
48
55
45
11
24
51
17
24
47
29
50
57
89
54
62
63
55
61
7
41
61
27
64
60
63
55
44
43
39
48
57
47
65
65
55
43
51
48
22
57
47
28
52
51
50
61
41
61
69
50
41
53
42
58
45
26
60
52
30
56
47
56
32
55
44
58
56
71
69
41
6...

result:

ok 3000 lines

Test #2:

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

input:

30000 30000 30000
11640 15443
5731 12870
5066 28442
11803 29263
2399 20658
4911 11282
676 1962
10390 19686
6117 6722
22155 28614
2932 14721
11403 13488
6697 22434
19113 26975
20347 20663
15743 16072
19116 25652
10891 19389
1373 27384
14607 29107
6192 29223
7196 10267
15467 16280
21828 26032
365 982
...

output:

2610
3673
15
7659
10149
8209
878
4102
7582
10483
6418
6826
11546
12814
11394
7792
9097
7484
14575
913
5802
584
8172
961
7434
8828
14665
7642
14032
6284
8299
3040
9576
4953
47
13721
10634
3362
9103
4901
4022
11866
14548
5132
9252
13165
143
9494
2845
13149
5616
3023
13560
12315
8126
2002
5706
10657
14...

result:

ok 30000 lines

Test #3:

score: 3
Accepted
time: 16ms
memory: 8352kb

input:

50000 49999 50000
23237 38489
46903 47222
463 17722
5061 37126
21771 23294
4851 25450
408 41933
1298 5353
8952 44686
5842 17741
15835 33052
16401 17274
33117 33174
7070 24079
22424 46115
5336 6340
35165 36940
3308 36325
12014 20182
391 48629
9736 42693
5246 46582
22861 48389
3338 6669
31354 49668
11...

output:

8988
372
12633
8934
15728
15677
431
10910
20467
16345
10441
16923
12383
15090
11112
19353
21485
9819
17810
3071
41
99
8479
9616
1173
13790
1142
14800
19055
675
1086
2353
22330
18271
2373
11286
20247
21236
18133
11260
2792
19399
9049
18056
14190
3523
22890
19479
14288
9335
561
19226
12836
11409
8485
...

result:

ok 50000 lines

Test #4:

score: 3
Accepted
time: 14ms
memory: 7888kb

input:

49900 50000 100
21419 22725
19367 26559
4942 22766
16196 32249
12443 43575
17415 32668
3559 30282
6024 31186
4553 32107
1085 24970
27857 48472
15126 48937
22784 33748
16961 18301
21066 30382
41567 46191
17677 42298
2910 32294
14609 16464
14131 44143
8413 13472
17266 18767
567 48263
2410 29825
22159 ...

output:

4729
6824
18742
805
16289
4349
1296
5007
15785
15606
18374
4228
1685
19748
16689
7552
13232
5985
19529
7256
13074
6094
12823
7464
19302
3985
5081
4794
2513
6637
10664
6726
11115
11493
10542
4882
2626
10108
17287
690
8100
6464
10436
3789
14356
11646
18179
20174
19124
1188
20268
1232
4167
127
1224
166...

result:

ok 49900 lines

Subtask #2:

score: 0
Wrong Answer

Test #5:

score: 0
Wrong Answer
time: 0ms
memory: 5856kb

input:

3000 3000 3000
1391 1542
299 1578
1346 1528
46 1259
1513 2261
201 1717
56 1635
199 2327
847 882
1977 2161
465 1954
1723 2580
482 2105
906 2207
747 2742
2026 2845
1565 1809
295 311
278 2408
1215 2583
520 832
464 638
1223 1346
1799 2703
1022 2717
887 2160
619 2109
165 2478
879 1343
319 2463
56 815
109...

output:

25
47
29
15
51
29
39
23
47
39
23
39
27
39
5
39
19
26
30
31
43
32
39
86788
24
13
86785
52
31
24
36
22
33
31
32
22
36
43
24
25
30
32
86791
31
49
34
31
31
39
21
33
86791
34
40
23
43
44
37
32
37
48
86788
33
86781
42
46
28
86785
15
47
43
42
41
39
38
14
34
42
33
86773
24
37
36
12
14
28
47
43
34
27
45
41
1...

result:

wrong answer 24th lines differ - expected: '86790', found: '86788'

Subtask #3:

score: 0
Wrong Answer

Test #13:

score: 0
Wrong Answer
time: 0ms
memory: 5880kb

input:

3000 3000 3000
997 1695
884 1068
654 1853
6 520
947 2382
787 2407
818 1795
2347 2718
46 1560
1180 2169
582 1881
1080 1766
770 2877
365 419
365 749
1315 2536
223 1867
216 545
1311 1952
1598 2796
141 620
1681 2938
301 2204
866 1710
872 961
369 466
2160 2936
2295 2359
1310 1744
1572 2088
1111 2618
1680...

output:

357
518
350
113
154
370
718
974
1389
588
1322
215
670
9
870
488
375
195
1102
149
1373
944
303
508
1217
19
920
646
699
713
1152
1247
555
751
80
50
584
1361
149
921
140
1183
989
667
455
198
180
813
472
71
112
169
331
600
666
31
860
145
1090
207
496
654
825
1330
278
112
690
1152
885
1412
94
96
771
132
...

result:

wrong answer 717th lines differ - expected: '807728', found: '2373287'

Subtask #4:

score: 0
Wrong Answer

Test #23:

score: 19
Accepted
time: 1ms
memory: 3780kb

input:

1500 3000 2
432 1120
324 1221
37 294
50 931
588 1149
178 887
460 517
268 533
649 935
123 1291
642 1025
1145 1489
630 1375
163 1407
842 1004
155 1300
296 1049
380 840
215 1224
283 981
211 1056
75 725
325 1437
591 680
1179 1253
876 1425
382 1230
1065 1436
612 784
121 770
349 633
140 1168
443 1019
103 ...

output:

6
6
7
4
5
5
6
3
5
7
5
6
5
5
5
6
6
6
3
5
5
6
3
6
5
6
3
3
6
6
5
6
4
5
7
6
6
6
5
2
5
5
6
5
4
7
4
4
5
5
5
7
6
5
5
3
6
6
5
5
6
5
6
4
5
6
4
7
3
6
6
4
5
5
4
7
6
6
6
7
5
3
5
6
4
6
4
6
4
6
4
6
5
6
3
4
6
4
5
3
6
5
6
7
4
6
5
6
7
5
4
6
5
5
6
6
6
4
5
5
6
4
4
6
6
6
6
6
6
6
6
5
6
6
5
6
4
6
5
6
6
6
6
5
7
4
6
4
6
5
...

result:

ok 1500 lines

Test #24:

score: 0
Wrong Answer
time: 1ms
memory: 3776kb

input:

3000 2999 5
1183 2619
603 1077
245 1639
988 1253
70 2760
2292 2975
2483 2998
851 1914
214 968
1902 2025
1636 2835
62 2320
2082 2708
267 1972
613 2739
1273 2062
2173 2928
1028 1532
417 2184
291 899
608 2280
922 1566
670 1218
1023 1213
1193 2777
1142 2410
532 1558
67 1473
1041 1652
146 1877
727 2468
5...

output:

225
277
229
226
220
44
273
222
240
234
231
26
228
255
20
283
258
239
288
227
269
231
229
256
243
291
207
230
279
17
249
233
245
40
281
252
258
41
229
283
256
13
234
279
19
40
225
226
15
245
235
279
238
272
222
244
250
234
293
228
220
17
247
17
215
229
238
257
262
295
218
219
231
225
218
269
275
270
...

result:

wrong answer 1st lines differ - expected: '79', found: '225'

Subtask #5:

score: 0
Wrong Answer

Test #44:

score: 0
Wrong Answer
time: 19ms
memory: 7632kb

input:

50000 49999 2
25634 31370
8027 24849
12312 23307
3731 32856
28725 29829
23424 44542
9950 43281
17138 22049
29393 31047
24061 46387
861 3924
12114 24868
29242 36744
5090 11267
3946 26100
7151 22151
27368 49971
43548 44917
25373 45846
4117 43120
24675 34139
9043 21081
29857 41278
37558 41510
11300 402...

output:

114
120
159
152
68
38
72
118
129
123
155
95
61
164
142
103
72
58
122
97
89
73
64
57
528
59
67
114
111
99
122
60
100
61
20
112
104
103
114
522
113
70
104
93
105
49
118
119
111
177
91
88
87
102
162
146
94
178
108
87
98
130
90
152
41
71
61
145
77
79
94
70
133
80
89
124
478
105
67
38
133
173
118
126
85
...

result:

wrong answer 25th lines differ - expected: '174', found: '528'

Subtask #6:

score: 0
Skipped

Dependency #5:

0%

Subtask #7:

score: 0
Skipped

Dependency #4:

0%

Subtask #8:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%