QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#579784 | #6634. Central Subset | martinga# | AC ✓ | 654ms | 38592kb | C++20 | 2.1kb | 2024-09-21 17:53:46 | 2024-09-21 17:53:47 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define lli long long int
void createTree(vector<int>& tree, vector<vector<int>>& adjList, vector<bool>& visited, int current, int height, priority_queue<pair<int,int>>& pq)
{
visited[current] = true;
pq.push({height, current});
for (int index = 0; index < adjList[current].size(); index++)
{
auto& dest = adjList[current][index];
if (!(visited[dest]))
{
tree[dest] = current;
createTree(tree, adjList, visited, dest, height + 1, pq);
}
else
{
dest = -1;
}
}
}
void markVisited(int current, vector<bool>& visited, vector<vector<int>>& adjList)
{
if (!(visited[current]))
{
visited[current] = true;
for (auto dest : adjList[current])
{
if (dest == -1){continue;}
markVisited(dest, visited, adjList);
}
}
}
void solveCase()
{
int v,e; cin >> v >> e;
vector<bool> visited(v,false);
vector<vector<int>> adjList(v);
for (int i = 0; i < e; i++)
{
int a1, a2; cin >> a1 >> a2; a1--; a2--;
adjList[a1].push_back(a2);
adjList[a2].push_back(a1);
}
// Create tree
vector<int> tree(v, 0);
priority_queue<pair<int,int>> pq;
createTree(tree, adjList, visited, 0, 0, pq);
int distance = (int)(ceil(sqrt((double)(v))));
visited = vector<bool>(v, false);
vector<int> solution;
while (!(pq.empty()))
{
int current = pq.top().second; pq.pop();
if (visited[current]){continue;}
for (int i = 0; i < distance; i++)
{
current = tree[current];
}
solution.push_back(current);
markVisited(current, visited, adjList);
}
cout << solution.size() << "\n";
cout << solution[0] + 1;
for (int i = 1; i < solution.size(); i++)
{
cout << " " << solution[i] + 1;
}
cout << "\n";
}
int main()
{
int nCases; cin >> nCases;
while (nCases--)
{
solveCase();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3548kb
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 1 1 1
result:
ok correct (2 test cases)
Test #2:
score: 0
Accepted
time: 35ms
memory: 3524kb
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 11 6 1 1 1 2 2 1 1 1 1 1 3 6 2 1 1 1 2 4 1 3 10 3 1 1 1 4 15 9 3 1 2 3 1 2 2 1 2 5 1 1 1 3 11 6 1 1 1 1 1 2 2 1 1 1 2 2 1 2 3 1 2 4 1 2 5 1 1 1 3 11 6 1 1 1 2 5 1 1 1 1 1 4 16 10 4 1 2 2 1 2 4 1 3 7 4 1 1 1 2 3 1 2 2 1 2 3 1 3 7 6 1 1 1 3 8 3 1 1 1 2 3 1 2 2 1 1 1 2 6 1 2 3 1 2 3 1 2 5 1 1 1 3 13 ...
result:
ok correct (10000 test cases)
Test #3:
score: 0
Accepted
time: 85ms
memory: 3860kb
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 1955 1909 1863 1817 1771 1725 1679 1633 1587 1541 1495 1449 1403 1357 1311 1265 1219 1173 1127 1081 1035 989 943 897 851 805 759 713 667 621 575 529 483 437 391 345 299 253 207 161 115 69 23 1 1 1 23 956 911 866 821 776 731 686 641 596 551 506 461 416 371 326 281 236 191 146 101 56 11 1 6 1170 10...
result:
ok correct (100 test cases)
Test #4:
score: 0
Accepted
time: 82ms
memory: 6904kb
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 14791 14667 14543 14419 14295 14171 14047 13923 13799 13675 13551 13427 13303 13179 13055 12931 12807 12683 12559 12435 12311 12187 12063 11939 11815 11691 11567 11443 11319 11195 11071 10947 10823 10699 10575 10451 10327 10203 10079 9955 9831 9707 9583 9459 9335 9211 9087 8963 8839 8715 8591 84...
result:
ok correct (10 test cases)
Test #5:
score: 0
Accepted
time: 110ms
memory: 4784kb
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 6126 3269 1143 1 5 10809 8283 178 176 1 5 11257 8040 3276 471 1 5 10584 9863 3873 3415 1 6 15169 14623 8672 8665 1487 1 6 15046 6159 4075 2577 207 1 7 15985 8593 6581 1059 972 256 1 6 7843 6192 5415 2418 266 1 6 14312 1588 1088 1025 27 1 5 8901 8799 7775 2515 1
result:
ok correct (10 test cases)
Test #6:
score: 0
Accepted
time: 177ms
memory: 38592kb
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 199552 199103 198654 198205 197756 197307 196858 196409 195960 195511 195062 194613 194164 193715 193266 192817 192368 191919 191470 191021 190572 190123 189674 189225 188776 188327 187878 187429 186980 186531 186082 185633 185184 184735 184286 183837 183388 182939 182490 182041 181592 181143 18...
result:
ok correct (1 test case)
Test #7:
score: 0
Accepted
time: 165ms
memory: 27696kb
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 99553 99105 98657 98209 97761 97313 96865 96417 95969 95521 95073 94625 94177 93729 93281 92833 92385 91937 91489 91041 90593 90145 89697 89249 88801 88353 87905 87457 87009 86561 86113 85665 85217 84769 84321 83873 83425 82977 82529 82081 81633 81185 80737 80289 79841 79393 78945 78497 78049 77...
result:
ok correct (1 test case)
Test #8:
score: 0
Accepted
time: 185ms
memory: 17500kb
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 149019 118805 107919 81894 4044 1
result:
ok correct (1 test case)
Test #9:
score: 0
Accepted
time: 24ms
memory: 3656kb
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 8 1 5 4 23 13 40 1 3 7 11 1 6 72 12 23 55 83 1 5 33 47 31 14 1 3 4 11 1 5 36 40 23 14 1 5 29 50 39 17 1 6 69 14 3 21 56 1 6 33 73 72 42 19 1 3 18 2 1 4 13 56 91 1 2 2 1 4 44 45 2 1 4 21 4 35 1 2 12 1 3 8 12 1 1 1 5 21 19 54 4 1 6 43 57 64 10 44 1 4 22 18 19 1 4 3 35 28 1 3 35 3 1 6 26 98 21 54 38 ...
result:
ok correct (1000 test cases)
Test #10:
score: 0
Accepted
time: 2ms
memory: 3624kb
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 73 48 44 52 1 6 20 81 11 39 79 1 5 24 30 25 39 1 6 9 8 22 16 13 1 6 57 61 54 23 49 1 3 32 54 1 4 28 16 50 1 5 35 43 9 13 1 6 17 27 39 20 40 1 4 42 10 52 1 4 50 8 23 1 6 42 48 28 27 51 1 7 88 79 75 25 48 60 1 6 45 78 79 94 82 1 6 86 53 32 43 83 1 6 35 59 76 54 70 1 5 45 14 42 39 1 5 46 26 22 18 1 6...
result:
ok correct (100 test cases)
Test #11:
score: 0
Accepted
time: 654ms
memory: 31416kb
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 34049 57614 21673 77170 32228 38751 94460 38070 86446 94192 63295 71693 33466 727 38967 83117 21148 17873 48494 61087 9012 82746 74336 62742 57908 80617 56090 15709 32017 6476 5979 50859 7240 26408 98143 37375 60339 64275 41132 74442 44143 2883 22260 30063 29042 52310 82415 32259 7937 66823 4867...
result:
ok correct (1 test case)
Test #12:
score: 0
Accepted
time: 213ms
memory: 38420kb
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 102716 104996 130473 153358 52328 48100 159183 180244 61342 93128 198812 181188 23272 69310 2082 185281 40157 83814 72732 26886 174843 171822 84173 37031 175575 34259 65276 113686 134295 42878 34028 79441 7413 25135 116647 189212 128997 33482 19015 14647 103976 21369 18212 140219 67888 53694 762...
result:
ok correct (1 test case)
Test #13:
score: 0
Accepted
time: 153ms
memory: 17120kb
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 171689 198734 123009 166219 189537 185622 100072 149905 128572 193842 122073 159953 186516 176986 191530 136472 183233 190183 191576 160824 188604 194460 124730 134556 137621 162382 183962 117053 164701 115691 185421 193395 198350 167488 85512 163716 175096 185086 193783 150325 190697 199024 181...
result:
ok correct (1 test case)
Test #14:
score: 0
Accepted
time: 114ms
memory: 3748kb
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 865 827 756 781 755 625 546 505 511 383 334 265 301 242 131 168 23 28 1 17 769 812 693 605 582 660 597 505 430 411 341 321 283 172 102 48 1 21 850 858 750 736 712 658 621 587 494 488 430 409 402 282 279 201 196 82 60 64 1 21 888 819 774 749 684 632 613 539 561 474 394 431 322 267 226 248 132 34 5...
result:
ok correct (200 test cases)
Test #15:
score: 0
Accepted
time: 80ms
memory: 14640kb
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 2 1
result:
ok correct (1 test case)
Test #16:
score: 0
Accepted
time: 130ms
memory: 8108kb
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 276 237 606 126 268 507 108 702 653 925 942 350 851 625 376 437 881 335 995 272 476 481 477 100 936 423 866 854 380 962 1
result:
ok correct (1 test case)
Test #17:
score: 0
Accepted
time: 69ms
memory: 3608kb
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 7 39 1 3 29 37 1 2 44 1 3 36 43 1 3 37 16 1 3 46 43 1 2 28 1 2 34 1 3 39 21 1 3 11 13 1 2 43 1 3 7 19 1 3 8 28 1 3 6 14 1 3 30 48 1 2 5 1 3 43 37 1 2 4 1 2 8 1 3 9 30 1 3 8 23 1 3 35 21 1 3 6 19 1 3 19 4 1 3 17 35 1 3 2 3 1 2 26 1 3 39 47 1 2 33 1 3 25 2 1 3 6 7 1 3 41 44 1 2 42 1 3 14 28 1 3 41 3...
result:
ok correct (4081 test cases)