QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#132766#6634. Central SubsetRabeya#AC ✓104ms32704kbC++141.6kb2023-07-31 15:18:292023-07-31 15:18: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-07-31 15:18:30]
  • 评测
  • 测评结果:AC
  • 用时:104ms
  • 内存:32704kb
  • [2023-07-31 15:18:29]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define pb push_back
#define fi first
#define se second
#define endl "\n"


vector<int> v[200005];
int par[200005];
int Find(int x)
{
    if(par[x]==x) return x;
    return par[x] = Find(par[x]);
}
void Union(int a,int b)
{
    par[Find(a)] = Find(b);
}

int sz[200005], sqr;
set<int> ans;

void dfs(int u, int p) {
    sz[u] = 1;
    for(int child: v[u]) {
        if(child == p) continue;

        dfs(child, u);
        sz[u] += sz[child];
    }
    if(sz[u] > sqr) {
        ans.insert(u);
        sz[u] = 0;
    }
}

void solve()
{
    int n,m;
    cin>>n>>m;
    vector<pii> edge;
    for(int i=0;i<m;i++)
    {
        int a,b;
        cin>>a>>b;
       edge.pb({a,b});
    }
    for(int i=0;i<=n;i++) par[i]=i;
    for(int i=0;i<m;i++)
    {
        int a=edge[i].first,b=edge[i].second;
        if(Find(a) != Find(b))
        {
            v[a].pb(b);
            v[b].pb(a);
            Union(a,b);
        }

    }
    /////////////////////////////////////////////////////////
    sqr = sqrt(n);
    while(sqr*sqr < n) sqr++;

    dfs(1, 0);
    ans.insert(1);

    if(ans.size() > sqr) {
        cout<< -1 << endl;
        return;
    }
    cout<<ans.size()<<endl;
    for(int i:ans) cout<<i<<' ';
    cout<<endl;
    for(int i=0;i<=n;i++) {
        sz[i] = 0;
        v[i].clear();
    }
    ans.clear();
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int tc;
    cin>>tc;
    while(tc--)
    {
        solve();
    }
}



Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 8776kb

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

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 17ms
memory: 8228kb

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
1 6 11 
2
1 2 
2
1 4 
1
1 
1
1 
3
1 2 6 
1
1 
3
1 3 6 
3
1 6 12 
2
1 2 
4
1 3 9 15 
2
1 4 
2
1 4 
3
1 3 10 
2
1 2 
3
1 6 11 
2
1 2 
1
1 
2
1 4 
2
1 2 
2
1 2 
2
1 3 
3
1 3 6 
3
1 3 11 
2
1 2 
3
1 6 11 
2
1 2 
3
1 4 7 
1
1 
2
1 2 
4
1 4 10 16 
3
1 3 5 
3
1 3 6 
3
1 6 7 
2
1 2 
2
1 3 
2
1 3 
3
1 2 5 ...

result:

ok correct (10000 test cases)

Test #3:

score: 0
Accepted
time: 24ms
memory: 9064kb

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
1 23 69 115 161 207 253 299 345 391 437 483 529 575 621 667 713 759 805 851 897 943 989 1035 1081 1127 1173 1219 1265 1311 1357 1403 1449 1495 1541 1587 1633 1679 1725 1771 1817 1863 1909 1955 
35
1 2 8 9 11 14 19 20 32 36 38 41 42 43 44 48 49 52 56 57 59 60 63 65 78 91 99 102 106 113 117 134 135...

result:

ok correct (100 test cases)

Test #4:

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

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
1 35 159 283 407 531 655 779 903 1027 1151 1275 1399 1523 1647 1771 1895 2019 2143 2267 2391 2515 2639 2763 2887 3011 3135 3259 3383 3507 3631 3755 3879 4003 4127 4251 4375 4499 4623 4747 4871 4995 5119 5243 5367 5491 5615 5739 5863 5987 6111 6235 6359 6483 6607 6731 6855 6979 7103 7227 7351 747...

result:

ok correct (10 test cases)

Test #5:

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

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:

119
1 13 14 127 215 320 718 846 944 964 997 1266 1369 1585 1605 1845 1998 2148 2221 2646 2826 2927 3073 3259 3534 3704 3898 3933 4047 4184 4202 4301 4549 4808 4822 4823 5201 5518 5681 5705 5719 5745 5804 6410 6446 6570 6986 7027 7209 7248 7533 7665 7666 7667 7717 7732 7942 8172 8680 8696 8797 8917 9...

result:

ok correct (10 test cases)

Test #6:

score: 0
Accepted
time: 52ms
memory: 32704kb

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
1 196 645 1094 1543 1992 2441 2890 3339 3788 4237 4686 5135 5584 6033 6482 6931 7380 7829 8278 8727 9176 9625 10074 10523 10972 11421 11870 12319 12768 13217 13666 14115 14564 15013 15462 15911 16360 16809 17258 17707 18156 18605 19054 19503 19952 20401 20850 21299 21748 22197 22646 23095 23544 ...

result:

ok correct (1 test case)

Test #7:

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

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:

445
1 102 327 552 777 1002 1227 1452 1677 1902 2127 2352 2577 2802 3027 3252 3477 3702 3927 4152 4377 4602 4827 5052 5277 5502 5727 5952 6177 6402 6627 6852 7077 7302 7527 7752 7977 8202 8427 8652 8877 9102 9327 9552 9777 10002 10227 10452 10677 10902 11127 11352 11577 11802 12027 12252 12477 12702 ...

result:

ok correct (1 test case)

Test #8:

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

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:

380
1 77 331 436 966 1022 1675 1809 1896 1971 2228 3221 3384 4023 4547 4903 5030 5415 5473 5552 5952 6897 6927 6995 7603 7885 8206 8675 9863 10047 10759 11507 12104 12548 12874 13696 13871 14653 15019 15051 15408 15555 15830 18061 18214 18399 18676 18826 18974 19019 20668 20876 21005 21494 21778 220...

result:

ok correct (1 test case)

Test #9:

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

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:

2
1 11 
6
1 2 5 14 56 66 
2
1 23 
8
1 14 36 39 50 54 57 76 
6
1 4 30 35 42 52 
3
1 2 10 
5
1 21 32 39 44 
5
1 2 18 45 53 
7
1 2 38 47 66 68 83 
6
1 11 36 46 62 76 
4
1 2 10 18 
7
1 32 34 61 64 78 82 
2
1 2 
6
1 8 11 13 16 17 
5
1 11 20 33 40 
4
1 3 5 16 
3
1 8 12 
2
1 3 
7
1 11 37 38 41 43 62 
6
1 1...

result:

ok correct (1000 test cases)

Test #10:

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

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:

7
1 7 21 26 48 57 62 
7
1 14 40 41 54 64 75 
4
1 19 37 38 
6
1 5 8 34 40 44 
8
1 14 20 23 41 44 57 63 
4
1 35 37 54 
6
1 6 41 48 50 53 
4
1 22 46 49 
7
1 7 24 37 58 61 69 
6
1 3 11 14 15 32 
6
1 6 42 44 47 80 
8
1 20 21 29 55 82 87 88 
7
1 10 25 32 64 77 87 
8
1 15 16 50 54 59 73 75 
6
1 9 40 56 69 ...

result:

ok correct (100 test cases)

Test #11:

score: 0
Accepted
time: 104ms
memory: 19872kb

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:

262
1 156 377 380 973 1633 2430 3498 3735 4288 6075 6103 6198 6776 6798 6976 7052 7563 7606 7863 8032 8658 9252 9639 9677 9696 9893 9959 11960 12026 12630 13942 14229 15209 15488 15817 16288 16633 17748 18079 18219 18568 19105 19312 19420 19843 20030 20369 21711 21945 22091 22326 22550 23306 23412 2...

result:

ok correct (1 test case)

Test #12:

score: 0
Accepted
time: 55ms
memory: 28064kb

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
1 235 580 832 849 893 1721 2649 2874 3800 4631 4760 5268 5579 5963 6019 6054 6381 7446 7560 7636 7659 7687 7929 7993 8240 8837 10140 10189 10229 10620 11089 11139 11211 12762 12769 13573 13956 14179 14322 14761 15120 15529 15653 15934 16075 16279 16329 16437 16627 16776 17327 18188 18257 18466 1...

result:

ok correct (1 test case)

Test #13:

score: 0
Accepted
time: 39ms
memory: 17296kb

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
1 792 1169 1389 1434 1473 1721 2964 3448 4328 4438 5015 6076 6436 7028 8723 8775 8843 8903 9107 10348 10983 12048 12288 12883 13326 13980 14927 14982 15316 15404 15618 15767 15852 16599 16947 17209 17685 17769 18582 18631 18999 19178 20576 21016 21189 21224 22050 22246 22680 23064 23361 23826 24...

result:

ok correct (1 test case)

Test #14:

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

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:

22
1 21 65 150 171 216 223 261 328 336 352 361 482 502 540 552 589 596 684 756 759 778 
22
1 44 65 90 154 169 222 241 251 296 384 452 461 472 523 525 558 642 661 710 753 800 
21
1 2 5 8 163 191 268 269 316 332 378 443 446 535 540 604 605 655 686 721 776 
22
1 42 99 107 202 216 222 257 262 294 373 38...

result:

ok correct (200 test cases)

Test #15:

score: 0
Accepted
time: 13ms
memory: 15636kb

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 400 

result:

ok correct (1 test case)

Test #16:

score: 0
Accepted
time: 29ms
memory: 13708kb

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:

25
1 11 55 67 85 105 134 139 161 201 319 327 370 537 539 561 563 640 658 722 809 819 824 834 913 

result:

ok correct (1 test case)

Test #17:

score: 0
Accepted
time: 15ms
memory: 8496kb

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:

3
1 4 39 
3
1 37 48 
3
1 9 23 
3
1 2 43 
3
1 16 23 
3
1 33 43 
3
1 30 49 
3
1 34 47 
3
1 17 21 
3
1 27 38 
3
1 18 43 
3
1 6 19 
3
1 22 28 
3
1 13 14 
3
1 21 44 
3
1 5 22 
3
1 33 37 
3
1 4 44 
3
1 8 45 
3
1 2 30 
3
1 23 43 
3
1 21 32 
3
1 19 21 
3
1 4 5 
3
1 14 35 
3
1 3 22 
3
1 18 45 
3
1 28 47 
3
1...

result:

ok correct (4081 test cases)