QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#139684 | #6634. Central Subset | syx2567 | AC ✓ | 1977ms | 45276kb | C++14 | 1.4kb | 2023-08-14 10:25:42 | 2023-08-14 10:25:43 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=200005;
int T,n,m,B,cnt,ans[N];
int vis[N],use[N];
vector <int> g[N],g2[N];
vector <int> ::iterator it;
void init()
{
cnt=0;
for(int i=1;i<=n;i++) g[i].clear(),g2[i].clear();
for(int i=1;i<=n;i++) vis[i]=use[i]=0;
}
void dfs(int x,int f)
{
// printf("%d %d\n",x,f);
if(x!=1)
{
g2[x].push_back(f);
g2[f].push_back(x);
}
vis[x]=1;
for(int i=0;i<g[x].size();i++)
{
int v=g[x][i];
if(vis[v]) continue;
dfs(v,x);
}
}
int fa[N],dep[N],pos[N];
void dfs2(int x,int f)
{
fa[x]=f;
dep[x]=dep[f]+1;
pos[x]=x;
for(int i=0;i<g2[x].size();i++)
{
int v=g2[x][i];
if(v==f||use[v]) continue;
dfs2(v,x);
if(dep[pos[v]]>dep[pos[x]]) pos[x]=pos[v];
}
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
init();
for(int i=1;i<=m;i++)
{
int u,v;
scanf("%d%d",&u,&v);
g[u].push_back(v);
g[v].push_back(u);
}
dfs(1,0);
B=ceil(sqrt(n));
// printf("%d\n",B);
// for(int i=1;i<=n;i++)
// for(int j=0;j<g2[i].size();j++) printf("%d %d\n",i,g2[i][j]);
dfs2(1,0);
int rt=pos[1];
while(1)
{
dfs2(rt,0);
int x=pos[rt];
for(int i=1;i<=B;i++) x=fa[x];
// printf("%d %d %d %d\n",now,rt,pos[rt],x);
if(x==0||x==rt){ans[++cnt]=rt;break;}
ans[++cnt]=x;
use[x]=1;
}
printf("%d\n",cnt);
for(int i=1;i<=cnt;i++) printf("%d ",ans[i]);
printf("\n");
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 16136kb
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 3 4 2 4 6
result:
ok correct (2 test cases)
Test #2:
score: 0
Accepted
time: 19ms
memory: 15944kb
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 5 10 15 2 4 6 2 5 6 1 2 1 2 3 4 8 9 1 2 2 5 8 2 6 16 1 14 4 6 12 18 20 2 4 8 2 5 10 2 10 16 1 4 3 5 10 15 2 4 7 1 2 2 4 9 1 5 2 3 4 2 4 8 2 5 14 2 8 18 1 3 3 5 10 15 2 3 4 2 5 16 1 3 1 6 4 6 12 18 21 2 8 11 2 5 14 2 6 16 1 4 2 4 6 2 4 6 2 5 7 3 6 7 21 1 7 3 ...
result:
ok correct (10000 test cases)
Test #3:
score: 0
Accepted
time: 53ms
memory: 16308kb
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 46 92 138 184 230 276 322 368 414 460 506 552 598 644 690 736 782 828 874 920 966 1012 1058 1104 1150 1196 1242 1288 1334 1380 1426 1472 1518 1564 1610 1656 1702 1748 1794 1840 1886 1932 1978 2000 1 1983 23 46 91 136 181 226 271 316 361 406 451 496 541 586 631 676 721 766 811 856 901 946 991 10...
result:
ok correct (100 test cases)
Test #4:
score: 0
Accepted
time: 165ms
memory: 17244kb
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 124 248 372 496 620 744 868 992 1116 1240 1364 1488 1612 1736 1860 1984 2108 2232 2356 2480 2604 2728 2852 2976 3100 3224 3348 3472 3596 3720 3844 3968 4092 4216 4340 4464 4588 4712 4836 4960 5084 5208 5332 5456 5580 5704 5828 5952 6076 6200 6324 6448 6572 6696 6820 6944 7068 7192 7316 7440 7564...
result:
ok correct (10 test cases)
Test #5:
score: 0
Accepted
time: 56ms
memory: 17684kb
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:
6 1143 2011 6615 8318 19216 20000 5 176 2729 8283 13301 20000 4 3724 10026 15746 20000 6 9863 2703 3873 9997 18494 20000 8 14623 8672 1288 3081 8081 12009 17913 20000 6 4075 2326 6159 14406 19409 20000 7 972 547 6581 9157 15481 19558 19999 6 5415 2004 6192 5623 18312 19999 6 1025 27 1588 763...
result:
ok correct (10 test cases)
Test #6:
score: 0
Accepted
time: 789ms
memory: 45276kb
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 449 898 1347 1796 2245 2694 3143 3592 4041 4490 4939 5388 5837 6286 6735 7184 7633 8082 8531 8980 9429 9878 10327 10776 11225 11674 12123 12572 13021 13470 13919 14368 14817 15266 15715 16164 16613 17062 17511 17960 18409 18858 19307 19756 20205 20654 21103 21552 22001 22450 22899 23348 23797 24...
result:
ok correct (1 test case)
Test #7:
score: 0
Accepted
time: 367ms
memory: 37256kb
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 449 897 1345 1793 2241 2689 3137 3585 4033 4481 4929 5377 5825 6273 6721 7169 7617 8065 8513 8961 9409 9857 10305 10753 11201 11649 12097 12545 12993 13441 13889 14337 14785 15233 15681 16129 16577 17025 17473 17921 18369 18817 19265 19713 20161 20609 21057 21505 21953 22401 22849 23297 23745 24...
result:
ok correct (1 test case)
Test #8:
score: 0
Accepted
time: 96ms
memory: 29680kb
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 55837 118805 96840 146245 189142 200000
result:
ok correct (1 test case)
Test #9:
score: 0
Accepted
time: 14ms
memory: 14152kb
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 8 7 10 5 16 13 23 4 32 3 4 9 20 6 39 46 23 12 72 51 5 32 58 35 18 23 3 14 10 8 5 24 20 18 3 15 5 51 11 40 14 49 6 56 66 3 10 41 65 6 19 42 22 73 52 58 4 19 3 14 4 4 65 61 83 77 2 4 3 4 2 46 18 9 4 26 3 42 48 3 3 14 18 3 17 4 15 1 4 5 39 37 49 62 26 6 13 60 17 31 35 38 4 8 26 22...
result:
ok correct (1000 test cases)
Test #10:
score: 0
Accepted
time: 2ms
memory: 15972kb
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 30 40 70 2 32 6 2 3 64 66 44 26 4 4 2 24 18 6 41 51 42 53 44 47 6 13 29 15 48 7 36 4 13 36 53 45 4 49 43 51 47 5 30 48 46 26 45 6 48 13 77 27 31 28 5 29 30 41 23 17 5 74 43 42 77 46 6 85 13 11 76 24 50 7 64 73 19 51 23 87 68 7 59 40 68 60 18 75 6 7 49 4 17 77 15 81 89 7 70 45 71 7 9...
result:
ok correct (100 test cases)
Test #11:
score: 0
Accepted
time: 843ms
memory: 40056kb
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 95904 48722 14317 4100 19915 73203 97594 57585 43161 88054 41192 55076 78544 75433 53580 9935 33104 60354 22330 15512 70727 88755 64306 80056 8344 77248 10255 98166 84239 11658 41511 46664 60154 75850 793 67818 66558 5799 72956 30957 64245 37865 39252 70596 96650 39698 84137 11069 35342 9112 697...
result:
ok correct (1 test case)
Test #12:
score: 0
Accepted
time: 1977ms
memory: 45240kb
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 99934 195979 141032 62627 91991 117991 153401 100510 161019 64340 160537 153405 148079 147796 51219 144173 59691 46683 166259 154287 149525 83525 25337 13734 85217 72451 98926 134941 67309 113743 25084 117033 4006 151424 18559 68983 145845 112093 171743 77053 110188 39947 46803 75403 92924 12022...
result:
ok correct (1 test case)
Test #13:
score: 0
Accepted
time: 1484ms
memory: 29508kb
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:
447 15935 189537 129710 194132 176986 134556 137621 191029 120292 52474 124343 130888 115691 193842 160824 190183 191704 160083 132699 152049 123009 100072 195640 191131 176835 175061 181807 143043 193090 179516 191153 193821 169223 186567 198350 119787 194460 178886 193783 192687 181673 178067 1990...
result:
ok correct (1 test case)
Test #14:
score: 0
Accepted
time: 51ms
memory: 14080kb
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:
19 12 117 73 238 267 341 360 413 470 490 510 619 645 722 802 824 880 923 935 17 28 131 159 251 279 361 377 434 525 614 709 601 790 836 862 878 894 21 45 97 124 184 227 278 294 380 354 438 492 581 595 610 680 701 765 809 832 820 891 20 71 107 141 179 226 315 286 360 440 465 582 542 623 675 690 719...
result:
ok correct (200 test cases)
Test #15:
score: 0
Accepted
time: 30ms
memory: 26492kb
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 801
result:
ok correct (1 test case)
Test #16:
score: 0
Accepted
time: 53ms
memory: 18360kb
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:
31 700 617 3 230 197 526 505 831 938 669 946 873 566 781 153 667 720 56 621 579 828 496 954 892 416 39 353 891 590 955 395
result:
ok correct (1 test case)
Test #17:
score: 0
Accepted
time: 26ms
memory: 15936kb
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 39 14 2 37 12 2 9 26 2 43 33 2 16 19 2 43 48 2 30 29 3 43 29 28 2 21 12 2 27 33 3 11 47 48 2 19 11 2 28 34 2 14 15 2 44 26 3 17 12 4 2 37 29 3 41 36 21 3 44 15 7 2 30 24 2 23 49 2 21 4 2 19 14 2 4 27 2 35 42 2 3 47 2 18 38 2 47 25 3 35 18 12 2 2 16 2 7 43 2 44 2 3 2...
result:
ok correct (4081 test cases)