QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#127311#6634. Central Subsetoreoioiwy#AC ✓159ms43912kbC++171.9kb2023-07-19 15:34:502023-07-19 15:34:53

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-19 15:34:53]
  • 评测
  • 测评结果:AC
  • 用时:159ms
  • 内存:43912kb
  • [2023-07-19 15:34:50]
  • 提交

answer

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

typedef long long ll;

// #define tpyeinput int
// inline char nc() {static char buf[1000000],*p1=buf,*p2=buf;return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;}
// inline void read(tpyeinput &sum) {char ch=nc();sum=0;while(!(ch>='0'&&ch<='9')) ch=nc();while(ch>='0'&&ch<='9') sum=(sum<<3)+(sum<<1)+(ch-48),ch=nc();}

template<typename T>
void read(T &x) {
    int f = 1;
    x = 0;
    char ch = getchar();
    while (ch < '0' || ch > '9') {
        if (ch == '-')f = -1;
        ch = getchar();
    }
    while (ch >= '0' && ch <= '9') {
        x = x * 10 + (ch ^ 48);
        ch = getchar();
    }
    x *= f;
}

const int N = 1e6+10, M = 2*N;
vector<int> g[N];
vector<int> ans;
int n, m, k;
int dep[N];
int rand(int l, int r) {
    return (ll)rand()*rand() % (r - l + 1) + l;
}

bool bfs(int u) {
    ans.clear();
    queue<pair<int, int>> q;
    for(int i=1; i<=n; i++) dep[i] = 0;
    q.push({u, dep[u] = 1});
    while(!q.empty()) {
        auto x = q.front().first, d = q.front().second;
        q.pop();
        for (auto v : g[x]) {
            if(dep[v]) continue;
            q.push({v, dep[v] = d+1});
        }
    }
    for(int i=1; i<=n; i++) {
        if(dep[i] % (k+1) == 1) ans.push_back(i);
    }
    if(ans.size() <= k) return true;
    return false;
}

void solve() {
    read(n); read(m); 
    k = ceil(sqrt(n));
    for(int i=1; i<=n; i++) g[i].clear(); 
    for(int i=1; i<=m; i++) {
        int u, v;
        read(u); read(v);
        g[u].push_back(v);
        g[v].push_back(u);
    }
    while(!bfs(rand(1, n)));
    printf("%d\n", ans.size());
    for(auto x : ans) printf("%d ", x); puts("");

}


int main() {
#ifdef LOCAL_TEST
    freopen("test.in", "r", stdin);
#endif
    srand(time(0));
    int times = 1;
    read(times);
    while(times--) {
        solve();
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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

result:

ok correct (2 test cases)

Test #2:

score: 0
Accepted
time: 0ms
memory: 28580kb

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
3 8 13 
1
1 
1
3 
1
1 
1
2 
2
2 6 
1
1 
3
2 7 13 
3
5 13 14 
1
9 
3
3 9 15 
2
5 8 
3
1 6 10 
3
1 6 13 
1
5 
3
1 6 11 
1
1 
1
1 
2
5 7 
1
4 
2
1 4 
3
2 7 8 
3
7 10 13 
3
1 13 14 
1
1 
3
4 9 14 
1
1 
1
5 
1
3 
1
6 
4
3 9 15 21 
4
1 9 11 13 
3
2 10 13 
3
1 10 11 
1
3 
2
1 5 
1
4 
3
1 6 11 
3
5 20 21 ...

result:

ok correct (10000 test cases)

Test #3:

score: 0
Accepted
time: 10ms
memory: 27368kb

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:

43
31 77 123 169 215 261 307 353 399 445 491 537 583 629 675 721 767 813 859 905 951 997 1043 1089 1135 1181 1227 1273 1319 1365 1411 1457 1503 1549 1595 1641 1687 1733 1779 1825 1871 1917 1963 
1
1861 
43
16 62 108 198 244 290 336 382 428 474 520 566 612 658 704 750 796 842 888 934 980 1017 1063 11...

result:

ok correct (100 test cases)

Test #4:

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

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:

120
53 177 301 425 549 673 797 921 1045 1169 1293 1417 1541 1665 1789 1913 2037 2161 2285 2409 2533 2657 2781 2905 3029 3153 3277 3401 3525 3649 3773 3897 4021 4145 4269 4393 4517 4641 4765 4889 5013 5137 5261 5385 5509 5633 5757 5881 6005 6129 6253 6377 6501 6625 6749 6873 6997 7121 7245 7369 7493 ...

result:

ok correct (10 test cases)

Test #5:

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

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:

138
1 3 45 46 47 48 49 50 51 265 266 267 268 269 270 271 272 602 603 604 605 4047 4135 4231 4232 4233 4234 4235 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 5648 5649 5650 5651 5652 5653 5654 5655 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 127...

result:

ok correct (10 test cases)

Test #6:

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

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
174 623 1072 1521 1970 2419 2868 3317 3766 4215 4664 5113 5562 6011 6460 6909 7358 7807 8256 8705 9154 9603 10052 10501 10950 11399 11848 12297 12746 13195 13644 14093 14542 14991 15440 15889 16338 16787 17236 17685 18134 18583 19032 19481 19930 20379 20828 21277 21726 22175 22624 23073 23522 23...

result:

ok correct (1 test case)

Test #7:

score: 0
Accepted
time: 31ms
memory: 35140kb

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
174 623 1072 1521 1970 2419 2868 3317 3766 4215 4664 5113 5562 6011 6460 6909 7358 7807 8256 8705 9154 9603 10052 10501 10950 11399 11848 12297 12746 13195 13644 14093 14542 14991 15440 15889 16338 16787 17236 17685 18134 18583 19032 19481 19930 20379 20828 21277 21726 22175 22624 23073 23522 23...

result:

ok correct (1 test case)

Test #8:

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

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:

386
39001 83736 83737 83738 83739 83740 83741 83742 83743 83744 83745 83746 83747 83748 83749 83750 83751 83752 83753 83754 83755 83756 83757 83758 83759 83760 83761 83762 83763 83764 83765 83766 83767 83768 83769 83770 83771 83772 83773 83774 83775 83776 83777 83778 83779 83780 83781 83782 83783 83...

result:

ok correct (1 test case)

Test #9:

score: 0
Accepted
time: 5ms
memory: 29052kb

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
5 
1
63 
1
23 
1
68 
1
41 
1
4 
1
34 
1
40 
1
13 
1
7 
1
24 
2
25 61 
1
1 
1
34 
1
7 
2
7 19 
1
12 
1
2 
1
5 
1
49 
1
8 
1
26 
1
30 
1
37 
1
26 
1
41 
1
9 
4
8 9 20 45 
2
27 47 
1
13 
1
1 
1
4 
6
15 23 29 33 76 77 
1
15 
1
63 
1
5 
4
12 14 26 43 
1
51 
1
29 
1
4 
2
7 15 
1
5 
1
24 
10
8 23 24 41 5...

result:

ok correct (1000 test cases)

Test #10:

score: 0
Accepted
time: 5ms
memory: 28096kb

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:

1
57 
1
21 
1
33 
1
63 
1
1 
2
34 42 
4
1 24 37 48 
1
44 
1
83 
1
21 
2
34 55 
1
61 
1
45 
1
44 
1
46 
1
95 
1
12 
1
26 
1
9 
1
66 
1
3 
1
56 
1
30 
1
48 
1
30 
1
25 
5
9 15 19 32 49 
1
8 
1
23 
1
41 
5
13 16 37 40 42 
1
67 
3
34 36 46 
1
26 
6
6 22 29 33 40 50 
1
19 
1
21 
1
64 
1
20 
2
26 29 
1
56...

result:

ok correct (100 test cases)

Test #11:

score: 0
Accepted
time: 159ms
memory: 43912kb

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
89681 

result:

ok correct (1 test case)

Test #12:

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

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:

445
486 783 794 990 2674 2752 2764 3352 3469 4312 5206 6111 6399 6477 7139 7434 8473 8731 9674 10846 10849 10962 11253 11626 12538 12698 13366 14136 14436 15115 15207 16195 16310 16322 16844 17187 17651 18208 18366 18556 18739 18882 19176 19416 19632 19640 19896 20122 20567 20838 20873 21249 22295 2...

result:

ok correct (1 test case)

Test #13:

score: 0
Accepted
time: 25ms
memory: 34844kb

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
396 980 1154 1870 2795 3347 3568 3955 4222 4255 4360 4441 4910 5230 5773 5848 6326 7311 7462 7629 7969 8051 8900 9066 9387 10027 10712 12037 12294 12587 12670 13098 13156 13601 13949 13977 14226 14478 14487 14937 15755 15854 17371 18042 18230 18480 18735 19791 19839 19861 22140 22476 22880 23347...

result:

ok correct (1 test case)

Test #14:

score: 0
Accepted
time: 4ms
memory: 27692kb

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:

1
834 
1
265 
1
573 
1
878 
1
232 
1
178 
1
550 
1
675 
4
119 932 937 955 
26
2 4 7 8 10 11 12 13 15 16 19 21 23 24 25 28 30 32 37 42 87 89 127 142 146 948 
1
406 
1
839 
1
765 
1
272 
1
794 
22
3 4 7 8 10 13 14 17 21 26 27 28 39 46 50 53 57 58 79 165 181 945 
1
36 
1
780 
1
331 
1
129 
1
587 
1
467...

result:

ok correct (200 test cases)

Test #15:

score: 0
Accepted
time: 21ms
memory: 36060kb

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
340 1140 104471 

result:

ok correct (1 test case)

Test #16:

score: 0
Accepted
time: 18ms
memory: 33392kb

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:

1
441 

result:

ok correct (1 test case)

Test #17:

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

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
2 26 48 
3
4 20 25 
2
9 26 
3
2 3 38 
2
16 19 
3
24 31 33 
2
22 46 
3
4 40 42 
3
5 24 31 
3
5 22 43 
2
1 43 
3
6 8 45 
3
16 22 44 
2
34 39 
2
26 44 
2
1 47 
2
29 37 
3
15 39 44 
3
4 23 45 
3
3 17 21 
3
10 36 45 
2
40 42 
2
24 42 
2
26 49 
3
11 14 18 
3
8 24 29 
2
4 24 
2
19 29 
3
3 6 19 
3
10 12 3...

result:

ok correct (4081 test cases)