QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#134992#6634. Central SubsetPlentyOfPenalty#AC ✓1512ms23856kbC++201.4kb2023-08-05 10:32:062023-08-05 10:32:11

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-05 10:32:11]
  • 评测
  • 测评结果:AC
  • 用时:1512ms
  • 内存:23856kb
  • [2023-08-05 10:32:06]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=2e5;
struct edge{
	int t,nxt;
}e[(N<<1)+10];
int T,n,D,m,u,v,f[N+10],be[N+10],cnt;
int fa[N+10],dep[N+10],mk[N+10],mx,mnd[N+10],prt[N+10],sz;
char c;
int getf(int x){
	return f[x]==x?x:f[x]=getf(f[x]);
}
void scan(int&x){
	x=0;
	while(!isdigit(c=getchar()));
	while(isdigit(c))x=(x<<3)+(x<<1)+c-'0',c=getchar();
}
void add(int x,int y){
	e[++cnt]=(edge){y,be[x]},be[x]=cnt;
}
void Getdep(int x,int y){
	fa[x]=y,dep[x]=dep[y]+1;
	for(int i=be[x];i;i=e[i].nxt)if(e[i].t!=y)Getdep(e[i].t,x);
}
void Getmx(int x,int mn){
	if(mk[x])return;
	if(mn>D&&mnd[x]>D&&dep[x]>mx)mx=dep[x],u=x;
	for(int i=be[x];i;i=e[i].nxt)if(e[i].t!=fa[x])Getmx(e[i].t,min(mn,mnd[x])+1);
}
int main(){
	ios::sync_with_stdio(0),cin.tie(0);
	cin>>T;
	while(T--){
		cin>>n>>m;
		D=0;
		while(D*D<n)++D;
		for(int i=1;i<=n;++i)f[i]=i,be[i]=mk[i]=0,mnd[i]=D+1;
		cnt=sz=0;
		for(int i=1;i<=m;++i){
			cin>>u>>v;
			//u=i,v=i+1;
			if(getf(u)!=getf(v))add(u,v),add(v,u),f[f[u]]=f[v];
		}
		Getdep(1,0);
		while(mx=0,Getmx(1,D+1),mx&&sz<=D){
			for(int i=1;i<=D&&fa[u];++i)u=fa[u];
			prt[++sz]=u,mk[u]=1,mnd[u]=0;
			for(int i=1;i<=D&&fa[u];++i)u=fa[u],mnd[u]=min(mnd[u],i);
		}
		// assert(sz<=D);
		cout<<sz<<'\n';
		for(int i=1;i<=sz;++i){
			// printf("%d%c",prt[i]," \n"[i==sz]);
			cout<<prt[i]<<" \n"[i==sz];
		}
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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:

1
2
1
1

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 12ms
memory: 9644kb

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:

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

result:

ok correct (10000 test cases)

Test #3:

score: 0
Accepted
time: 27ms
memory: 7720kb

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:

22
1955 1864 1773 1682 1591 1500 1409 1318 1227 1136 1045 954 863 772 681 590 499 408 317 226 135 44
1
1
12
956 867 778 689 600 511 422 333 244 155 66 1
4
1170 1047 107 32
1
1
22
1955 1864 1773 1682 1591 1500 1409 1318 1227 1136 1045 954 863 772 681 590 499 408 317 226 135 44
1
1
12
956 867 778 689 ...

result:

ok correct (100 test cases)

Test #4:

score: 0
Accepted
time: 118ms
memory: 10928kb

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:

61
14791 14544 14297 14050 13803 13556 13309 13062 12815 12568 12321 12074 11827 11580 11333 11086 10839 10592 10345 10098 9851 9604 9357 9110 8863 8616 8369 8122 7875 7628 7381 7134 6887 6640 6393 6146 5899 5652 5405 5158 4911 4664 4417 4170 3923 3676 3429 3182 2935 2688 2441 2194 1947 1700 1453 12...

result:

ok correct (10 test cases)

Test #5:

score: 0
Accepted
time: 34ms
memory: 9888kb

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:

2
6126 1143
4
10809 8283 176 142
3
11257 8040 471
3
10584 9863 2437
5
15169 14623 6490 5958 1
4
15046 6159 4075 1
4
15985 6581 972 256
4
7843 6192 5415 266
4
14312 1588 1025 27
4
8901 8799 7775 387

result:

ok correct (10 test cases)

Test #6:

score: 0
Accepted
time: 1080ms
memory: 23856kb

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:

223
199552 198655 197758 196861 195964 195067 194170 193273 192376 191479 190582 189685 188788 187891 186994 186097 185200 184303 183406 182509 181612 180715 179818 178921 178024 177127 176230 175333 174436 173539 172642 171745 170848 169951 169054 168157 167260 166363 165466 164569 163672 162775 16...

result:

ok correct (1 test case)

Test #7:

score: 0
Accepted
time: 425ms
memory: 17712kb

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:

112
99553 98658 97763 96868 95973 95078 94183 93288 92393 91498 90603 89708 88813 87918 87023 86128 85233 84338 83443 82548 81653 80758 79863 78968 78073 77178 76283 75388 74493 73598 72703 71808 70913 70018 69123 68228 67333 66438 65543 64648 63753 62858 61963 61068 60173 59278 58383 57488 56593 55...

result:

ok correct (1 test case)

Test #8:

score: 0
Accepted
time: 43ms
memory: 11332kb

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:

3
149019 118805 4044

result:

ok correct (1 test case)

Test #9:

score: 0
Accepted
time: 11ms
memory: 7532kb

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:

1
4
1
66
2
11 1
2
53 1
2
27 42
2
10 1
1
10
1
41
2
40 38
2
31 40
2
15 1
2
88 93
1
1
2
2 1
2
20 1
1
11
1
12
1
1
2
9 43
2
31 1
2
7 16
2
34 1
1
23
2
79 17
2
31 1
1
10
2
26 24
2
6 40
2
30 19
2
2 61
2
23 22
3
4 8 1
2
42 49
2
24 1
2
57 1
2
20 1
2
2 29
2
55 1
1
27
2
25 42
2
2 1
1
26
1
31
2
79 49
2
19 85
1
5...

result:

ok correct (1000 test cases)

Test #10:

score: 0
Accepted
time: 3ms
memory: 9580kb

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:

2
44 57
2
4 1
2
54 42
2
17 34
2
32 44
2
54 40
2
27 1
1
49
2
58 79
1
15
1
80
2
31 82
2
32 1
2
59 1
2
41 13
2
32 1
2
28 1
1
48
2
78 1
3
59 40 1
3
64 6 1
2
55 21
2
50 48
2
20 15
2
2 50
2
11 8
2
15 11
2
52 81
2
39 1
1
31
2
3 1
2
67 1
1
7
2
46 13
2
37 1
2
28 71
2
23 1
3
46 58 80
2
11 18
2
12 1
1
45
1
65
...

result:

ok correct (100 test cases)

Test #11:

score: 0
Accepted
time: 111ms
memory: 9812kb

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:

1
1

result:

ok correct (1 test case)

Test #12:

score: 0
Accepted
time: 1512ms
memory: 20096kb

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:

223
20130 117915 77781 173519 118751 162296 98088 23786 54619 180008 13111 12611 58560 54059 20893 185328 27106 43572 160876 95235 44478 113869 3045 41677 41341 125236 186716 49690 28363 6642 120061 165937 89427 158351 53100 152365 60764 25712 66512 120322 118267 113275 33806 80232 137925 85238 9575...

result:

ok correct (1 test case)

Test #13:

score: 0
Accepted
time: 886ms
memory: 11280kb

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:

446
191576 122073 188843 193601 190697 155081 162382 150325 195296 193627 123353 129096 173138 178367 134095 157371 187666 130465 185086 83785 185421 149097 188348 170620 175096 93309 175308 182226 184826 155554 163716 136265 172735 183039 182833 139720 159244 84989 179356 179608 67029 127330 167736...

result:

ok correct (1 test case)

Test #14:

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

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:

2
80 35
2
98 30
3
139 146 1
2
131 133
3
138 72 1
3
122 70 51
3
181 33 37
2
228 1
3
96 67 39
3
120 80 62
2
57 43
2
107 60
2
92 1
3
217 149 45
3
139 115 107
2
109 48
2
223 103
2
97 121
2
36 15
2
150 93
3
130 150 85
1
102
3
103 94 54
3
101 104 15
1
113
2
130 127
1
151
1
1
2
79 2
2
138 70
2
83 5
3
151 1...

result:

ok correct (200 test cases)

Test #15:

score: 0
Accepted
time: 23ms
memory: 10836kb

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
2 1

result:

ok correct (1 test case)

Test #16:

score: 0
Accepted
time: 33ms
memory: 9636kb

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:

2
370 1

result:

ok correct (1 test case)

Test #17:

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

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
7 39
2
29 37
2
44 1
2
36 43
2
37 16
2
46 43
2
28 1
2
34 1
2
39 21
2
11 1
2
43 1
2
7 19
2
8 28
2
6 14
2
30 1
2
5 1
2
43 37
2
4 1
2
8 1
2
9 30
2
8 23
2
35 21
2
6 19
2
19 4
2
17 35
2
2 3
2
26 1
2
39 47
2
33 1
2
25 2
2
6 7
2
41 44
2
42 1
2
14 28
2
41 36
2
46 3
2
14 1
2
29 10
2
23 33
2
23 1
2
44 19
2
4...

result:

ok correct (4081 test cases)