QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#127114 | #6634. Central Subset | doyo# | AC ✓ | 172ms | 32912kb | C++14 | 1.5kb | 2023-07-19 13:10:52 | 2023-07-19 13:10:55 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e6+5;
struct Edge
{
int next;int to;
}edge[maxn];
int dep[maxn],n,sqn,head[maxn],cnt,m;
bool sel[maxn],vis[maxn];
void addedge(int from,int to)
{
edge[++cnt].next=head[from];
edge[cnt].to=to;
head[from]=cnt;
}
int dfs(int u,int fat)
{
//返回值为所能访问到的节点的最大深度
vis[u]=true;
dep[u]=dep[fat]+1;
int maxdep=dep[u];
for(int i=head[u];i;i=edge[i].next)
{
int v=edge[i].to;
if(v==fat||vis[v]) continue;
int tmp=dfs(v,u);
maxdep=max(maxdep,tmp);
}
//printf("dep[%d]=%d,maxdep=%d\n",u,dep[u],maxdep);
if(maxdep-dep[u]==sqn)
{
sel[u]=true;
return 0;
}
else return maxdep;
}
vector<int> ans;
void work()
{
cin>>n>>m;
if(n/sqrt(n)==sqrt(n)) sqn=sqrt(n);
else sqn=(int)sqrt(n)+1;
//printf("sqn=%d\n",sqn);
for(int i=1;i<=m;i++)
{
int x,y;
cin>>x>>y;
addedge(x,y);
addedge(y,x);
}
dep[0]=0;
dfs(1,0);
if(ans.size()<sqn) sel[1]=true;
for(int i=1;i<=n;i++)
if(sel[i]) ans.push_back(i),sel[i]=false;
cout<<ans.size()<<'\n';
for(auto item:ans)
cout<<item<<' ';
cout<<'\n';
for(int i=1;i<=n;i++) vis[i]=false,head[i]=0;
for(int i=1;i<=cnt;i++) edge[i].next=0;
cnt=0;ans.clear();
}
int main()
{
cin.tie(0);
cin.sync_with_stdio(0);
int t=1;
cin>>t;
while(t--)
work();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 9604kb
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: 9ms
memory: 11668kb
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 1 1 2 1 2 1 1 1 1 3 1 2 6 1 1 3 1 2 5 3 1 3 10 1 1 4 1 6 11 16 2 1 3 2 1 2 3 1 2 8 1 1 3 1 6 11 1 1 1 1 2 1 2 1 1 2 1 2 2 1 3 3 1 2 5 2 1 5 1 1 3 1 6 11 1 1 2 1 5 1 1 1 1 5 1 2 7 12 17 2 1 2 3 1 2 5 3 1 4 7 1 1 2 1 3 2 1 2 2 1 3 4 1 2 9 10 1 1 3 1 3 8...
result:
ok correct (10000 test cases)
Test #3:
score: 0
Accepted
time: 23ms
memory: 11788kb
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 1 1 23 1 11 56 101 146 191 236 281 326 371 416 461 506 551 596 641 686 731 776 821 866 911 956 6 1 32...
result:
ok correct (100 test cases)
Test #4:
score: 0
Accepted
time: 21ms
memory: 10936kb
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: 26ms
memory: 11648kb
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:
4 1 1173 3292 6198 5 1 191 194 8392 10856 5 1 490 3349 8074 11363 5 1 3440 3909 9964 10707 6 1 1554 8697 8701 14683 15220 6 1 221 2685 4160 6253 15145 7 1 263 1030 1114 6700 8675 16006 6 1 281 2455 5472 6251 7893 6 1 36 1062 1123 1630 14329 5 1 2555 7878 8919 9027
result:
ok correct (10 test cases)
Test #6:
score: 0
Accepted
time: 44ms
memory: 26404kb
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:
447 1 193 641 1089 1537 1985 2433 2881 3329 3777 4225 4673 5121 5569 6017 6465 6913 7361 7809 8257 8705 9153 9601 10049 10497 10945 11393 11841 12289 12737 13185 13633 14081 14529 14977 15425 15873 16321 16769 17217 17665 18113 18561 19009 19457 19905 20353 20801 21249 21697 22145 22593 23041 23489 ...
result:
ok correct (1 test case)
Test #7:
score: 0
Accepted
time: 38ms
memory: 22900kb
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 1 320 767 1214 1661 2108 2555 3002 3449 3896 4343 4790 5237 5684 6131 6578 7025 7472 7919 8366 8813 9260 9707 10154 10601 11048 11495 11942 12389 12836 13283 13730 14177 14624 15071 15518 15965 16412 16859 17306 17753 18200 18647 19094 19541 19988 20435 20882 21329 21776 22223 22670 23117 23564 ...
result:
ok correct (1 test case)
Test #8:
score: 0
Accepted
time: 34ms
memory: 16816kb
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 1 4128 81938 108151 118962 149099
result:
ok correct (1 test case)
Test #9:
score: 0
Accepted
time: 5ms
memory: 9668kb
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 5 6 1 2 14 26 62 67 3 1 12 18 7 1 32 46 68 76 84 86 5 1 23 34 49 59 3 1 11 14 5 1 2 6 12 27 5 1 20 26 39 52 6 1 6 19 33 71 93 5 1 31 64 72 76 3 1 19 21 4 1 5 55 78 2 1 4 6 1 3 11 20 30 44 4 1 3 7 24 2 1 5 3 1 2 6 2 1 4 6 1 17 25 37 41 45 6 1 31 34 40 48 62 4 1 5 18 32 4 1 4 ...
result:
ok correct (1000 test cases)
Test #10:
score: 0
Accepted
time: 1ms
memory: 11748kb
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 1 5 26 28 74 7 1 14 19 33 60 69 78 6 1 16 22 23 34 54 6 1 9 22 24 30 57 5 1 11 49 56 57 5 1 22 29 51 52 4 1 3 12 15 5 1 26 38 45 52 6 1 3 12 39 63 82 5 1 8 31 35 51 4 1 5 12 23 6 1 2 25 54 85 87 7 1 29 45 59 73 75 86 6 1 34 59 66 73 84 8 1 4 12 18 53 54 67 81 7 1 6 19 60 81 83 88 5...
result:
ok correct (100 test cases)
Test #11:
score: 0
Accepted
time: 172ms
memory: 32912kb
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 1 34 749 1350 1388 1469 1565 2377 2531 2969 3267 3963 4355 4630 4993 5501 6088 6130 6384 6622 6697 6791 6936 7077 7124 7229 7704 7950 8370 8718 9190 9605 10192 10551 10889 10948 11817 12473 12551 12569 13093 13213 13306 13515 14460 14810 15317 15562 15628 15879 15923 16237 16244 16452 16473 1709...
result:
ok correct (1 test case)
Test #12:
score: 0
Accepted
time: 38ms
memory: 26648kb
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 1 1040 1101 1925 2394 3435 3444 3648 4852 5845 5918 6248 6394 7179 7261 7440 7730 8350 8531 8905 9242 9423 10143 10869 11207 11929 12417 12544 12786 13668 13850 13856 14795 16882 16890 16952 17579 17907 18138 18547 18605 18670 18899 20164 21202 21581 23194 23626 23773 24280 24325 24549 24679 246...
result:
ok correct (1 test case)
Test #13:
score: 0
Accepted
time: 19ms
memory: 18124kb
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: 26ms
memory: 11788kb
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:
21 1 61 172 186 198 219 284 363 407 435 512 540 573 650 669 708 741 814 816 877 957 21 1 34 60 162 180 231 243 278 332 410 494 523 580 591 661 689 732 798 834 855 898 23 1 79 106 115 151 187 260 294 325 403 422 485 495 559 611 672 688 719 835 844 859 912 923 22 1 54 63 178 237 244 257 367 420 440...
result:
ok correct (200 test cases)
Test #15:
score: 0
Accepted
time: 18ms
memory: 16048kb
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 2
result:
ok correct (1 test case)
Test #16:
score: 0
Accepted
time: 66ms
memory: 19896kb
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 1 10 210 223 262 349 359 410 418 472 482 569 588 596 600 617 620 636 699 744 756 767 871 881 908 909 935 945 967 972 988 996
result:
ok correct (1 test case)
Test #17:
score: 0
Accepted
time: 19ms
memory: 11648kb
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 7 39 3 1 29 37 2 1 44 3 1 36 43 3 1 16 37 3 1 43 46 2 1 28 2 1 34 3 1 21 39 3 1 11 13 2 1 43 3 1 7 19 3 1 8 28 3 1 6 14 3 1 30 48 2 1 5 3 1 37 43 2 1 4 2 1 8 3 1 9 30 3 1 8 23 3 1 21 35 3 1 6 19 3 1 4 19 3 1 17 35 3 1 2 3 2 1 26 3 1 39 47 2 1 33 3 1 2 25 3 1 6 7 3 ...
result:
ok correct (4081 test cases)