QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#216194#6634. Central Subsetsiddharthjoshi026AC ✓242ms36856kbC++201.9kb2023-10-15 16:37:332023-10-15 16:37:33

Judging History

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

  • [2023-10-15 16:37:33]
  • 评测
  • 测评结果:AC
  • 用时:242ms
  • 内存:36856kb
  • [2023-10-15 16:37:33]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
 
mt19937_64 RNG(chrono::steady_clock::now().time_since_epoch().count());
#define int long long
#define pb push_back
#define rep(i,a,b) for(int i = a; i < b; i++)
#define all(x) x.begin(),x.end()
#define in(a) for(int i = 0; i<a.size(); i++) cin>>a[i];
#define out(a) for(int i = 0; i<a.size(); i++) cout<<a[i]<<" ";
typedef vector<int> vi;
#define sqrt(x) sqrtl(x)
#define ret(a) cout<<a<<"\n"; return

int n, m; 
vector<vi> adj;
vi vis;
int limit;
set<int> s;

void dfs(int v, int dist){
    if(vis[v]) return;
    vis[v] = 1;
    if(dist == limit){
        s.insert(v);
        dist = 0;
    }
    for(auto &x: adj[v]){
        dfs(x, dist + 1);
    }

}

void solve(){
    cin>>n>>m;
    s.clear();
    adj = vector<vi> (n+1);
    vis = vi (n+1, 0);
    long double d = sqrtl(n);
    limit = d;
    if(limit < d) limit++;
    rep(i,0,m){
        int x, y;
        cin>>x>>y;
        adj[x].pb(y);
        adj[y].pb(x);
    }

    rep(i,0,100){
        vis = vi (n+1, 0);
        s.clear();
        int node = rand() % n;
        node++;
        s.insert(node);
        dfs(node, 0);
        if(s.size() <= limit){
            cout<<s.size()<<"\n";
            for(auto &x: s){
                cout<<x<<" ";
            }
            cout<<"\n";
            return;
        }
    }

    cout<<-1<<"\n";
    
}   
 
int32_t main() {    
    auto begin = std::chrono::high_resolution_clock::now();
    ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); 
    int t = 1; 
    cin>>t;
    for(int i = 1; i<=t; i++){
        // cout<<"Case #"<<i<<": ";
        solve();
    }
    auto end = std::chrono::high_resolution_clock::now();
    auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin);
    cerr << "Time measured: " << elapsed.count() * 1e-6 << "ms\n"; 
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3696kb

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
2 4 
2
2 5 

result:

ok correct (2 test cases)

Test #2:

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

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:

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

result:

ok correct (10000 test cases)

Test #3:

score: 0
Accepted
time: 28ms
memory: 4040kb

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
34 79 124 169 214 259 304 349 394 439 484 529 574 619 664 709 754 799 844 889 934 979 1024 1069 1114 1159 1204 1249 1294 1339 1384 1429 1474 1519 1564 1609 1654 1699 1744 1789 1834 1879 1924 1969 
1
887 
43
13 58 103 148 193 238 283 328 373 418 463 508 553 598 643 688 733 778 823 868 913 958 1014...

result:

ok correct (100 test cases)

Test #4:

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

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
91 214 337 460 583 706 829 952 1075 1198 1321 1444 1567 1690 1813 1936 2059 2182 2305 2428 2551 2674 2797 2920 3043 3166 3289 3412 3535 3658 3781 3904 4027 4150 4273 4396 4519 4642 4765 4888 5011 5134 5257 5380 5503 5626 5749 5872 5995 6118 6241 6364 6487 6610 6733 6856 6979 7102 7225 7348 7471 ...

result:

ok correct (10 test cases)

Test #5:

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

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:

91
2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2313 3688 6935 6936 6937 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 92...

result:

ok correct (10 test cases)

Test #6:

score: 0
Accepted
time: 45ms
memory: 20116kb

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
232 680 1128 1576 2024 2472 2920 3368 3816 4264 4712 5160 5608 6056 6504 6952 7400 7848 8296 8744 9192 9640 10088 10536 10984 11432 11880 12328 12776 13224 13672 14120 14568 15016 15464 15912 16360 16808 17256 17704 18152 18600 19048 19496 19944 20392 20840 21288 21736 22184 22632 23080 23528 23...

result:

ok correct (1 test case)

Test #7:

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

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
232 680 1128 1576 2024 2472 2920 3368 3816 4264 4712 5160 5608 6056 6504 6952 7400 7848 8296 8744 9192 9640 10088 10536 10984 11432 11880 12328 12776 13224 13672 14120 14568 15016 15464 15912 16360 16808 17256 17704 18152 18600 19048 19496 19944 20392 20840 21288 21736 22184 22632 23080 23528 23...

result:

ok correct (1 test case)

Test #8:

score: 0
Accepted
time: 66ms
memory: 18368kb

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:

443
23136 23137 23138 23139 23140 23141 23142 23143 23144 23145 23146 23147 23148 23149 23150 23151 23152 23153 23154 23155 23156 23157 23158 23159 23160 23161 23162 23163 23164 23165 23166 23167 23168 23169 23170 23171 23172 23173 23174 23175 23176 23177 23178 23179 23180 23181 23182 23183 23184 23...

result:

ok correct (1 test case)

Test #9:

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

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
3 4 7 
8
28 34 35 36 37 47 51 64 
4
11 12 18 19 
7
4 45 62 80 83 88 90 
8
3 13 16 18 20 47 58 59 
4
2 4 6 10 
5
2 4 29 39 42 
8
5 15 20 24 29 37 51 54 
9
21 27 35 39 46 51 58 73 92 
8
15 32 50 51 53 61 64 71 
4
7 16 20 24 
5
2 4 34 88 93 
2
3 4 
7
6 12 19 30 37 39 41 
4
11 31 33 46 
3
5 6 17 
4
3 ...

result:

ok correct (1000 test cases)

Test #10:

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

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
2 7 26 30 37 60 68 
7
1 33 54 75 82 90 91 
8
5 10 14 19 34 36 38 48 
8
10 13 18 39 40 51 52 62 
9
3 11 17 30 36 44 45 59 66 
7
11 15 25 29 41 44 52 
6
8 10 44 51 53 58 
6
3 6 31 34 41 45 
9
2 5 12 23 26 32 44 78 86 
4
7 19 26 32 
8
1 10 23 27 48 60 76 81 
8
5 16 34 47 48 58 61 66 
8
11 16 31 32 36...

result:

ok correct (100 test cases)

Test #11:

score: 0
Accepted
time: 242ms
memory: 36856kb

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:

317
382 597 668 741 811 881 1388 1752 1968 2324 3406 3452 3461 4207 4369 4566 4600 4905 5658 6061 6145 6381 6756 6872 7009 7091 7167 7266 7423 7930 8335 8741 8998 9196 9216 9631 10097 10200 10924 11180 11290 11727 11911 12282 12776 12922 13097 13419 13901 14323 14494 14613 14625 14949 15320 15832 16...

result:

ok correct (1 test case)

Test #12:

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

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:

447
1365 1561 1585 1917 2360 2982 3282 4466 4799 5543 5639 5773 5906 6131 7680 7814 8540 9059 9338 9900 10138 10446 10762 11280 11421 11530 13508 13517 13628 13651 13802 14183 14307 14887 15646 16022 16079 16465 16541 16603 16605 16729 16751 17074 17162 18110 18661 20197 20578 20778 20898 21190 2161...

result:

ok correct (1 test case)

Test #13:

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

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
390 592 935 1080 1804 2071 3741 4560 4916 5461 5587 5747 5884 6015 6429 6894 6905 8637 9480 10572 10780 11034 11386 11451 11479 11521 11619 13458 13891 14114 14279 14386 14675 15067 15293 16366 16588 16730 16992 17199 17624 17837 17945 18158 18650 19034 19607 20212 21954 22426 23554 24272 24944 ...

result:

ok correct (1 test case)

Test #14:

score: 0
Accepted
time: 47ms
memory: 3868kb

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:

29
7 97 133 239 241 254 287 344 352 371 401 415 441 469 487 490 497 547 559 593 639 688 718 769 818 900 920 952 958 
24
36 102 108 148 204 232 233 240 299 302 366 424 438 480 521 546 565 631 689 715 750 815 857 878 
31
6 82 85 90 104 153 169 213 214 226 301 356 387 415 431 472 501 516 535 539 610 63...

result:

ok correct (200 test cases)

Test #15:

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

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:

3
328 1128 92778 

result:

ok correct (1 test case)

Test #16:

score: 0
Accepted
time: 38ms
memory: 12512kb

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:

32
30 88 96 113 151 172 196 214 236 350 373 384 388 508 520 579 581 589 604 610 711 719 741 764 774 863 907 913 917 921 961 994 

result:

ok correct (1 test case)

Test #17:

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

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
16 27 39 
3
4 6 25 
3
9 30 48 
3
2 11 38 
3
4 9 23 
3
18 24 33 
3
10 46 49 
2
7 47 
2
17 19 
3
21 38 39 
3
24 43 48 
2
14 24 
3
4 22 44 
2
21 22 
3
6 28 38 
3
4 5 38 
3
3 20 31 
3
4 21 48 
3
4 45 49 
3
19 30 48 
3
6 23 31 
3
10 21 23 
3
4 17 21 
3
3 5 9 
3
15 20 35 
3
8 15 24 
3
15 42 45 
3
4 19 4...

result:

ok correct (4081 test cases)