QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#139684#6634. Central Subsetsyx2567AC ✓1977ms45276kbC++141.4kb2023-08-14 10:25:422023-08-14 10:25:43

Judging History

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

  • [2023-08-14 10:25:43]
  • 评测
  • 测评结果:AC
  • 用时:1977ms
  • 内存:45276kb
  • [2023-08-14 10:25:42]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=200005;
int T,n,m,B,cnt,ans[N];
int vis[N],use[N];
vector <int> g[N],g2[N];
vector <int> ::iterator it;
void init()
{
	cnt=0;
	for(int i=1;i<=n;i++) g[i].clear(),g2[i].clear();
	for(int i=1;i<=n;i++) vis[i]=use[i]=0;
}
void dfs(int x,int f)
{
//	printf("%d %d\n",x,f);
	if(x!=1)
	{
		g2[x].push_back(f);
		g2[f].push_back(x);
	}
	vis[x]=1;
	for(int i=0;i<g[x].size();i++)
	{
		int v=g[x][i];
		if(vis[v]) continue;
		dfs(v,x);
	}
}
int fa[N],dep[N],pos[N];
void dfs2(int x,int f)
{
	fa[x]=f;
	dep[x]=dep[f]+1;
	pos[x]=x;
	for(int i=0;i<g2[x].size();i++)
	{
		int v=g2[x][i];
		if(v==f||use[v]) continue;
		dfs2(v,x);
		if(dep[pos[v]]>dep[pos[x]]) pos[x]=pos[v];
	}
}
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d",&n,&m);
		init();
		for(int i=1;i<=m;i++)
		{
			int u,v;
			scanf("%d%d",&u,&v);
			g[u].push_back(v);
			g[v].push_back(u);
		}
		dfs(1,0);
		B=ceil(sqrt(n));
//		printf("%d\n",B);
//		for(int i=1;i<=n;i++)
//			for(int j=0;j<g2[i].size();j++) printf("%d %d\n",i,g2[i][j]);
		dfs2(1,0);
		int rt=pos[1];
		while(1)
		{
			dfs2(rt,0);
			int x=pos[rt];
			for(int i=1;i<=B;i++) x=fa[x];
//			printf("%d %d %d %d\n",now,rt,pos[rt],x);
			if(x==0||x==rt){ans[++cnt]=rt;break;}
			ans[++cnt]=x;
			use[x]=1;
		}
		printf("%d\n",cnt);
		for(int i=1;i<=cnt;i++) printf("%d ",ans[i]);
		printf("\n");
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2
4 3
1 2
2 3
3 4
6 7
1 2
2 3
3 1
1 4
4 5
5 6
6 4

output:

2
3 4 
2
4 6 

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 19ms
memory: 15944kb

input:

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

output:

3
5 10 15 
2
4 6 
2
5 6 
1
2 
1
2 
3
4 8 9 
1
2 
2
5 8 
2
6 16 
1
14 
4
6 12 18 20 
2
4 8 
2
5 10 
2
10 16 
1
4 
3
5 10 15 
2
4 7 
1
2 
2
4 9 
1
5 
2
3 4 
2
4 8 
2
5 14 
2
8 18 
1
3 
3
5 10 15 
2
3 4 
2
5 16 
1
3 
1
6 
4
6 12 18 21 
2
8 11 
2
5 14 
2
6 16 
1
4 
2
4 6 
2
4 6 
2
5 7 
3
6 7 21 
1
7 
3
...

result:

ok correct (10000 test cases)

Test #3:

score: 0
Accepted
time: 53ms
memory: 16308kb

input:

100
2000 1999
529 528
885 884
1221 1222
375 374
245 244
758 757
711 710
1521 1522
1875 1874
749 750
823 822
1959 1958
1767 1766
155 154
631 632
825 824
1330 1331
457 456
1344 1343
1817 1818
413 414
582 583
1828 1827
1335 1336
654 655
162 161
1668 1667
1966 1967
1472 1471
1185 1184
518 517
1509 1510
...

output:

44
46 92 138 184 230 276 322 368 414 460 506 552 598 644 690 736 782 828 874 920 966 1012 1058 1104 1150 1196 1242 1288 1334 1380 1426 1472 1518 1564 1610 1656 1702 1748 1794 1840 1886 1932 1978 2000 
1
1983 
23
46 91 136 181 226 271 316 361 406 451 496 541 586 631 676 721 766 811 856 901 946 991 10...

result:

ok correct (100 test cases)

Test #4:

score: 0
Accepted
time: 165ms
memory: 17244kb

input:

10
14914 14913
13959 13958
3643 3642
4582 4581
13378 13379
981 980
12901 12902
12355 12356
14692 14691
9670 9669
14632 14631
1441 1440
1367 1368
6237 6238
8297 8298
1021 1020
5096 5097
4773 4774
7778 7779
3013 3014
5536 5535
11621 11620
13904 13903
3050 3049
14179 14178
7471 7472
13380 13381
7403 74...

output:

121
124 248 372 496 620 744 868 992 1116 1240 1364 1488 1612 1736 1860 1984 2108 2232 2356 2480 2604 2728 2852 2976 3100 3224 3348 3472 3596 3720 3844 3968 4092 4216 4340 4464 4588 4712 4836 4960 5084 5208 5332 5456 5580 5704 5828 5952 6076 6200 6324 6448 6572 6696 6820 6944 7068 7192 7316 7440 7564...

result:

ok correct (10 test cases)

Test #5:

score: 0
Accepted
time: 56ms
memory: 17684kb

input:

10
20000 19999
6831 6760
15763 15900
10362 10184
5821 5880
17555 17389
16708 16574
11592 11436
186 209
19380 19313
8867 8718
12100 12237
16245 16110
18464 18568
4713 4665
17412 17578
18666 18750
4360 4322
12350 12502
4054 4103
2874 2849
8097 8202
14489 14639
1056 1016
13500 13581
2435 2391
199 173
8...

output:

6
1143 2011 6615 8318 19216 20000 
5
176 2729 8283 13301 20000 
4
3724 10026 15746 20000 
6
9863 2703 3873 9997 18494 20000 
8
14623 8672 1288 3081 8081 12009 17913 20000 
6
4075 2326 6159 14406 19409 20000 
7
972 547 6581 9157 15481 19558 19999 
6
5415 2004 6192 5623 18312 19999 
6
1025 27 1588 763...

result:

ok correct (10 test cases)

Test #6:

score: 0
Accepted
time: 789ms
memory: 45276kb

input:

1
200000 199999
136649 136648
44943 44944
7148 7149
50332 50333
149967 149966
28976 28975
78549 78550
178698 178697
96434 96433
7859 7858
88976 88977
23348 23347
161682 161681
125393 125392
67892 67893
73592 73593
179054 179055
110841 110842
163714 163715
7982 7981
56309 56310
196486 196485
19176 19...

output:

446
449 898 1347 1796 2245 2694 3143 3592 4041 4490 4939 5388 5837 6286 6735 7184 7633 8082 8531 8980 9429 9878 10327 10776 11225 11674 12123 12572 13021 13470 13919 14368 14817 15266 15715 16164 16613 17062 17511 17960 18409 18858 19307 19756 20205 20654 21103 21552 22001 22450 22899 23348 23797 24...

result:

ok correct (1 test case)

Test #7:

score: 0
Accepted
time: 367ms
memory: 37256kb

input:

1
200000 199999
58280 58281
132016 32016
45157 45158
35446 35445
158979 58979
185831 85831
74289 174289
195645 95645
31857 131857
168766 68766
95607 95606
39817 39818
58215 158215
74893 74894
18897 118897
63013 163013
58501 58502
94475 194475
77574 77573
152977 52977
3731 103731
20407 20408
186570 8...

output:

224
449 897 1345 1793 2241 2689 3137 3585 4033 4481 4929 5377 5825 6273 6721 7169 7617 8065 8513 8961 9409 9857 10305 10753 11201 11649 12097 12545 12993 13441 13889 14337 14785 15233 15681 16129 16577 17025 17473 17921 18369 18817 19265 19713 20161 20609 21057 21505 21953 22401 22849 23297 23745 24...

result:

ok correct (1 test case)

Test #8:

score: 0
Accepted
time: 96ms
memory: 29680kb

input:

1
200000 199999
84088 84001
74829 74679
40726 41179
113019 113238
112813 113025
77336 77177
60908 61208
4521 4639
144249 144094
102763 102692
112856 113070
2428 2356
114005 113754
168454 168270
114538 114311
36802 36341
170182 170306
31641 32012
92503 92395
143570 143702
6871 6715
51503 51997
140883...

output:

6
55837 118805 96840 146245 189142 200000 

result:

ok correct (1 test case)

Test #9:

score: 0
Accepted
time: 14ms
memory: 14152kb

input:

1000
11 19
8 11
4 11
2 11
2 3
8 3
6 1
6 4
11 5
5 3
10 8
7 10
4 7
3 9
5 1
5 7
3 6
10 1
11 7
2 9
70 109
32 69
26 15
65 46
70 62
50 23
17 16
15 31
2 23
18 11
48 57
19 29
52 42
26 31
7 1
53 66
5 69
58 20
59 38
3 4
9 53
7 56
52 66
66 28
22 51
2 6
22 35
5 28
25 51
27 13
26 56
10 50
53 56
60 48
67 33
61 23...

output:

3
8 7 10 
5
16 13 23 4 32 
3
4 9 20 
6
39 46 23 12 72 51 
5
32 58 35 18 23 
3
14 10 8 
5
24 20 18 3 15 
5
51 11 40 14 49 
6
56 66 3 10 41 65 
6
19 42 22 73 52 58 
4
19 3 14 4 
4
65 61 83 77 
2
4 3 
4
2 46 18 9 
4
26 3 42 48 
3
3 14 18 
3
17 4 15 
1
4 
5
39 37 49 62 26 
6
13 60 17 31 35 38 
4
8 26 22...

result:

ok correct (1000 test cases)

Test #10:

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

input:

100
76 104
30 11
26 40
4 59
35 21
13 44
3 73
25 39
33 35
63 9
9 19
42 47
22 32
44 35
74 68
53 12
50 41
53 52
69 40
31 49
21 14
23 21
11 48
53 67
48 74
15 24
73 47
6 62
17 33
67 48
7 22
68 46
41 39
20 1
9 71
15 67
65 56
38 68
30 9
54 26
8 47
62 56
14 61
59 20
46 64
75 46
50 49
26 25
10 70
36 27
14 29...

output:

5
30 40 70 2 32 
6
2 3 64 66 44 26 
4
4 2 24 18 
6
41 51 42 53 44 47 
6
13 29 15 48 7 36 
4
13 36 53 45 
4
49 43 51 47 
5
30 48 46 26 45 
6
48 13 77 27 31 28 
5
29 30 41 23 17 
5
74 43 42 77 46 
6
85 13 11 76 24 50 
7
64 73 19 51 23 87 68 
7
59 40 68 60 18 75 6 
7
49 4 17 77 15 81 89 
7
70 45 71 7 9...

result:

ok correct (100 test cases)

Test #11:

score: 0
Accepted
time: 843ms
memory: 40056kb

input:

1
100000 1000000
70376 68374
69858 95507
48028 59467
27775 34161
858 86059
31468 25048
21313 82671
10952 18093
89665 50624
52742 11128
33566 41507
25913 22268
72131 67543
31387 42274
37347 75248
88261 56182
98982 47735
90574 62875
51228 53905
25218 4567
78201 22017
59613 68982
37239 43727
67620 9064...

output:

289
95904 48722 14317 4100 19915 73203 97594 57585 43161 88054 41192 55076 78544 75433 53580 9935 33104 60354 22330 15512 70727 88755 64306 80056 8344 77248 10255 98166 84239 11658 41511 46664 60154 75850 793 67818 66558 5799 72956 30957 64245 37865 39252 70596 96650 39698 84137 11069 35342 9112 697...

result:

ok correct (1 test case)

Test #12:

score: 0
Accepted
time: 1977ms
memory: 45240kb

input:

1
200000 200000
89381 101645
141954 180063
180085 158544
12185 82120
161570 175869
36911 151360
49966 148400
135100 143084
145185 33970
82150 111213
93727 145916
42620 157053
26848 66273
178649 76101
5033 162413
173225 34259
30781 78979
9908 187256
87177 127185
7086 26040
178611 119947
198142 154140...

output:

446
99934 195979 141032 62627 91991 117991 153401 100510 161019 64340 160537 153405 148079 147796 51219 144173 59691 46683 166259 154287 149525 83525 25337 13734 85217 72451 98926 134941 67309 113743 25084 117033 4006 151424 18559 68983 145845 112093 171743 77053 110188 39947 46803 75403 92924 12022...

result:

ok correct (1 test case)

Test #13:

score: 0
Accepted
time: 1484ms
memory: 29508kb

input:

1
199809 199808
197381 136472
136472 160228
160228 128766
128766 197225
197225 160133
160133 105707
105707 66465
66465 199512
199512 185463
185463 176514
176514 175293
175293 178768
178768 158873
158873 199518
199518 161400
161400 172476
172476 188761
188761 197795
197795 152286
152286 177332
177332...

output:

447
15935 189537 129710 194132 176986 134556 137621 191029 120292 52474 124343 130888 115691 193842 160824 190183 191704 160083 132699 152049 123009 100072 195640 191131 176835 175061 181807 143043 193090 179516 191153 193821 169223 186567 198350 119787 194460 178886 193783 192687 181673 178067 1990...

result:

ok correct (1 test case)

Test #14:

score: 0
Accepted
time: 51ms
memory: 14080kb

input:

200
961 1663
2 1
3 1
3 20
4 1
4 7
5 1
5 41
5 60
6 1
7 1
7 49
8 1
9 1
10 1
11 1
12 1
12 32
13 1
13 59
14 1
14 3
15 1
15 12
15 52
16 1
16 12
16 63
17 1
17 10
18 1
18 36
19 1
19 26
19 29
20 1
20 60
20 63
21 1
22 1
23 1
23 3
23 27
23 39
24 1
25 1
26 1
26 58
26 60
27 1
27 22
27 36
28 1
29 1
30 1
31 1
31 ...

output:

19
12 117 73 238 267 341 360 413 470 490 510 619 645 722 802 824 880 923 935 
17
28 131 159 251 279 361 377 434 525 614 709 601 790 836 862 878 894 
21
45 97 124 184 227 278 294 380 354 438 492 581 595 610 680 701 765 809 832 820 891 
20
71 107 141 179 226 315 286 360 440 465 582 542 623 675 690 719...

result:

ok correct (200 test cases)

Test #15:

score: 0
Accepted
time: 30ms
memory: 26492kb

input:

1
160000 159999
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
24 25
25 26
26 27
27 28
28 29
29 30
30 31
31 32
32 33
33 34
34 35
35 36
36 37
37 38
38 39
39 40
40 41
41 42
42 43
43 44
44 45
45 46
46 47
47 48
48 49
49 50
50 51
5...

output:

2
1 801 

result:

ok correct (1 test case)

Test #16:

score: 0
Accepted
time: 53ms
memory: 18360kb

input:

1
1000 499500
605 964
559 738
492 518
943 284
96 23
214 486
487 262
347 436
394 422
270 113
984 149
134 203
881 328
316 643
610 922
802 67
903 194
600 584
629 62
692 370
420 442
600 563
438 452
556 785
112 809
555 241
937 635
178 746
67 900
777 247
490 842
971 12
315 60
703 467
201 13
872 503
24 201...

output:

31
700 617 3 230 197 526 505 831 938 669 946 873 566 781 153 667 720 56 621 579 828 496 954 892 416 39 353 891 590 955 395 

result:

ok correct (1 test case)

Test #17:

score: 0
Accepted
time: 26ms
memory: 15936kb

input:

4081
49 48
39 7
7 45
45 25
25 31
31 26
26 4
4 11
4 19
4 37
4 8
4 16
4 22
4 33
11 14
39 6
6 12
12 46
46 49
49 48
48 29
29 27
39 41
41 15
15 34
34 24
39 3
3 13
13 20
20 47
39 9
9 36
36 5
5 43
39 40
40 21
21 2
2 38
39 35
35 42
42 23
23 28
39 1
1 32
32 10
10 17
39 30
30 18
18 44
49 48
37 29
29 33
33 19
...

output:

2
39 14 
2
37 12 
2
9 26 
2
43 33 
2
16 19 
2
43 48 
2
30 29 
3
43 29 28 
2
21 12 
2
27 33 
3
11 47 48 
2
19 11 
2
28 34 
2
14 15 
2
44 26 
3
17 12 4 
2
37 29 
3
41 36 21 
3
44 15 7 
2
30 24 
2
23 49 
2
21 4 
2
19 14 
2
4 27 
2
35 42 
2
3 47 
2
18 38 
2
47 25 
3
35 18 12 
2
2 16 
2
7 43 
2
44 2 
3
2...

result:

ok correct (4081 test cases)