QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#174313 | #6634. Central Subset | cada_dia_mas_insanos# | WA | 1330ms | 24340kb | C++17 | 2.3kb | 2023-09-10 06:18:11 | 2023-09-10 06:18:11 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10, oo = 1e9;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rand(int l, int r) {
return uniform_int_distribution<int>(l, r)(rng);
}
int n, m;
int dis[maxn], in[maxn];
vector <int> graph[maxn];
void bfs(int root) {
for (int i=0; i <n; i++) dis[i]=oo;
queue <int> q;
for (int i=0; i < n; i++) if (in[i]) dis[i]=0, q.push(i);
while (!q.empty()) {
int u = q.front(); q.pop();
for(int&v : graph[u]) {
if (dis[v] > dis[u]+1) {
dis[v]=dis[u]+1;
q.push(v);
}
}
}
}
void clean() {
for (int i=0; i < n; i++) {
graph[i].clear();
in[i]=0;
dis[i]=oo;
}
}
int main() {
ios_base::sync_with_stdio(0), cin.tie(0);
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif // LOCAL
int tt; cin >> tt;
while (tt--) {
cin >> n >> m;
for (int i=0; i<m; i++) {
int u, v; cin >> u >> v;
u--, v--;
graph[u].push_back(v);
graph[v].push_back(u);
}
bfs(rand(0, n-1));
int limit = ceil(sqrt(n));
vector <int> taken;
while (taken.size() < limit) {
int w=-1;
for (int i=0; i<n; i++) {
if (in[i]) continue;
if (w == -1 || dis[i]>dis[w]) w=i;
}
if (dis[w] <= limit) break;
if (w == -1) break;
taken.push_back(w);
in[w]=1;
bfs(w);
}
bool ok=1;
queue <int> q;
for (int i=0; i <n; i++) dis[i]=oo;
for (int& u : taken) q.push(u), dis[u]=0;
while (!q.empty()) {
int u = q.front(); q.pop();
for(int& v : graph[u]) {
if (dis[v] > dis[u]+1) {
dis[v] = dis[u]+1;
q.push(v);
}
}
}
for (int i=0; i<n; i++) ok &= dis[i]<=limit;
if (!ok) cout << -1 << endl;
else {
cout << taken.size() << endl;
for (int& i : taken) cout << i+1 << ' ';
cout << endl;
}
clean();
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 8576kb
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 4 1 1
result:
ok correct (2 test cases)
Test #2:
score: 0
Accepted
time: 63ms
memory: 8852kb
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 15 8 1 1 2 1 6 1 1 1 1 3 1 9 5 1 1 2 1 8 3 1 16 11 1 1 3 1 20 10 2 1 8 2 1 6 2 1 16 1 1 3 1 15 8 1 1 1 1 2 1 9 1 1 2 1 4 2 1 8 2 1 8 2 1 18 1 1 3 1 15 8 1 1 3 1 9 13 1 1 1 1 3 1 21 11 3 1 9 11 2 1 8 3 1 16 13 1 1 2 1 6 3 1 6 7 2 1 7 3 1 20 21 1 1 3 1 12 6 ...
result:
ok correct (10000 test cases)
Test #3:
score: 0
Accepted
time: 55ms
memory: 8648kb
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:
33 1 2000 1000 1500 500 750 1250 1750 250 375 625 875 1125 1375 1625 1875 125 63 187 312 437 562 687 812 937 1062 1187 1312 1437 1562 1687 1812 1937 1 1 17 1 1001 1501 1251 1750 1376 1875 1126 1625 1064 1188 1313 1438 1563 1687 1812 1937 11 1 1998 1951 1271 1905 1171 1098 912 1806 1030 1452 1 1 ...
result:
ok correct (100 test cases)
Test #4:
score: 0
Accepted
time: 233ms
memory: 10032kb
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:
65 1 14914 7457 3729 11185 1865 5593 9321 13049 933 2797 4661 6525 8389 10253 12117 13981 467 1399 2331 3263 4195 5127 6059 6991 7923 8855 9787 10719 11651 12583 13515 14447 234 700 1166 1632 2098 2564 3030 3496 3962 4428 4894 5360 5826 6292 6758 7224 7690 8156 8622 9088 9554 10020 10486 10952 11418...
result:
ok correct (10 test cases)
Test #5:
score: 0
Accepted
time: 74ms
memory: 9244kb
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:
11 1 20000 14594 19977 19093 7289 6991 18322 19941 15162 11213 11 1 20000 19318 19460 19870 11158 11190 11087 10826 9522 18840 12 1 20000 18475 10920 19502 16488 7494 7393 15331 19424 6416 7751 11 1 19999 19966 16429 11541 14901 19783 10313 11965 17110 11460 10 1 20000 19962 15491 12324 12963 15...
result:
ok correct (10 test cases)
Test #6:
score: 0
Accepted
time: 969ms
memory: 16316kb
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:
257 1 200000 100000 150000 50000 75000 125000 175000 25000 37500 62500 87500 112500 137500 162500 187500 12500 18750 31250 43750 56250 68750 81250 93750 106250 118750 131250 143750 156250 168750 181250 193750 6250 9375 15625 21875 28125 34375 40625 46875 53125 59375 65625 71875 78125 84375 90625 968...
result:
ok correct (1 test case)
Test #7:
score: 0
Accepted
time: 518ms
memory: 16204kb
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:
129 1 100001 150001 125001 175000 137501 187500 112501 162500 118751 131251 143751 168750 181250 193750 106251 156250 109376 115626 121876 128126 134376 140626 146876 159375 165625 171875 178125 184375 190625 196875 103126 153125 101564 104688 107813 110938 114063 117188 120313 123438 126563 129688 ...
result:
ok correct (1 test case)
Test #8:
score: 0
Accepted
time: 109ms
memory: 16212kb
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:
12 1 199998 176521 172036 123183 133955 199002 94488 153146 132573 178642 103023
result:
ok correct (1 test case)
Test #9:
score: 0
Accepted
time: 7ms
memory: 8928kb
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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 1 7 31 15 23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 71 1 1 3 1 8 45 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 9 34 1 1 1 1 1 1 1 1 1 1 1 1 4 1 2 22 61 1 1 1 1 3 1 53 19 2 1 19 1 1 1 1 1 1 1 1 ...
result:
ok correct (1000 test cases)
Test #10:
score: 0
Accepted
time: 5ms
memory: 8420kb
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:
2 1 31 1 1 1 1 1 1 1 1 1 1 4 1 31 37 25 1 1 1 1 2 1 16 2 1 18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 13 26 45 1 1 1 1 1 1 4 1 35 7 24 1 1 2 1 8 1 1 4 1 35 41 14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 29 46 1 1 1 1 1 1...
result:
ok correct (100 test cases)
Test #11:
score: 0
Accepted
time: 253ms
memory: 24340kb
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 1
result:
ok correct (1 test case)
Test #12:
score: 0
Accepted
time: 1227ms
memory: 16188kb
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:
256 1 42815 76480 85076 66705 70690 97940 147056 12559 58044 62234 63427 127841 143898 168748 172639 13995 18929 33760 34554 85655 85960 86792 96492 103031 108718 111739 119682 122452 128853 161919 170190 9264 14630 18867 43433 45084 46776 66517 71766 83511 86419 88751 90775 106798 108816 120044 122...
result:
ok correct (1 test case)
Test #13:
score: 0
Accepted
time: 1330ms
memory: 16312kb
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 344 661 663 719 2236 2852 2935 3546 4007 4577 5048 5481 5491 6475 7033 7316 8006 8199 8375 8863 9595 9610 10530 10598 10757 10928 11855 13368 13399 13616 15240 16725 16736 17712 17763 17773 18126 18282 18375 19061 19096 19290 19361 19409 19507 20026 20275 21327 22949 23159 23497 23924 24628 25...
result:
ok correct (1 test case)
Test #14:
score: 0
Accepted
time: 33ms
memory: 9744kb
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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok correct (200 test cases)
Test #15:
score: 0
Accepted
time: 34ms
memory: 14604kb
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: 38ms
memory: 13288kb
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 1
result:
ok correct (1 test case)
Test #17:
score: -100
Wrong Answer
time: 40ms
memory: 9000kb
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 14 27 3 1 12 9 2 1 26 3 1 33 41 3 1 19 15 -1 2 1 29 2 1 28 3 1 12 10 -1 -1 -1 3 1 34 48 -1 -1 2 1 4 3 1 29 32 -1 -1 3 1 24 19 3 1 49 6 3 1 4 23 3 1 14 27 3 1 27 21 3 1 42 15 -1 2 1 38 3 1 25 45 -1 -1 3 1 43 21 3 1 2 18 -1 3 1 36 15 3 1 8 31 3 1 42 49 -1 3 1 14 13 3 1 29 ...
result:
wrong answer Integer -1 violates the range [1, 7] (test case 6)