QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#174168 | #6634. Central Subset | cada_dia_mas_insanos# | TL | 303ms | 4728kb | C++14 | 1.7kb | 2023-09-10 05:00:30 | 2023-09-10 05:00:30 |
Judging History
answer
#include<bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define pb push_back
using namespace std;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
vector<vector<int>> g;
vector<int> colors;
vector<int> marked;
vector<int> dist;
int calc(int n){
int lo = 1, hi = 10000;
int ans;
while(lo <= hi){
int mid = (lo+hi)>>1;
if(mid * mid >= n) {
ans = mid;
hi = mid - 1;
} else {
lo = mid + 1;
}
}
return ans;
}
int main() {
ios_base::sync_with_stdio(0),cin.tie(0);
int t; cin >> t;
while(t--){
g.clear();
colors.clear();
dist.clear();
marked.clear();
int n,m; cin >> n >> m;
g.resize(n), colors.resize(n), dist.resize(n), marked.resize(n);
for(int i = 0; i < m;++i){
int a,b; cin >> a >> b;
--a,--b;
g[a].pb(b);
g[b].pb(a);
}
int upTo = calc(n);
vector<int> taken;
int i = 0;
while(taken.size() != upTo){
int j = taken.size() + 1;
taken.pb(i);
dist[i] = 0;
queue<int> q;
q.push(i);
colors[i] = j;
while(q.size()){
int dad = q.front(); q.pop();
for(auto adj: g[dad]){
if(colors[adj] != j){
dist[adj] = dist[dad] + 1;
colors[adj] = j;
q.push(adj);
}
}
}
int next = i;
for(int k = 0; k < n;++k){
if(dist[k] <= upTo)
marked[k] = 1;
else if(!marked[k] && dist[k] > dist[next])
next = k;
}
if(next == i) break;
i = next;
}
bool posi = 1;
for(int i = 0; i < n && posi; ++i){
posi = marked[i] != 0;
}
if(posi){
cout << taken.size() << '\n';
for(auto va:taken)
cout << va + 1 << ' ';
cout << '\n';
} else
cout << -1 << '\n';
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 3792kb
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: 23ms
memory: 3840kb
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 6 1 1 2 1 6 1 1 1 1 3 1 9 5 1 1 2 1 8 3 1 16 11 1 1 4 1 20 7 14 2 1 8 2 1 6 2 1 16 1 1 3 1 15 6 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 6 1 1 3 1 9 13 1 1 1 1 4 1 21 7 15 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 1...
result:
ok correct (10000 test cases)
Test #3:
score: 0
Accepted
time: 60ms
memory: 3792kb
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 2000 47 1954 93 1908 139 1862 185 1816 231 1770 277 1724 323 1678 369 1632 415 1586 461 1540 507 1494 553 1448 599 1402 645 1356 691 1310 737 1264 783 1218 829 1172 875 1126 921 1080 967 1034 1 1 23 1 1001 1046 1956 1090 1912 1134 1868 1178 1824 1222 1780 1266 1736 1310 1692 1354 1648 1398 16...
result:
ok correct (100 test cases)
Test #4:
score: 0
Accepted
time: 303ms
memory: 4728kb
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 14914 125 14790 249 14666 373 14542 497 14418 621 14294 745 14170 869 14046 993 13922 1117 13798 1241 13674 1365 13550 1489 13426 1613 13302 1737 13178 1861 13054 1985 12930 2109 12806 2233 12682 2357 12558 2481 12434 2605 12310 2729 12186 2853 12062 2977 11938 3101 11814 3225 11690 3349 11566...
result:
ok correct (10 test cases)
Test #5:
score: 0
Accepted
time: 71ms
memory: 4500kb
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 7289 19977 14594 19941 11213 19093 6991 18322 15162 11 1 20000 11158 19870 10826 19460 9522 19318 18840 11087 11554 12 1 20000 7494 19817 7393 19502 6416 18475 7751 16488 10920 15331 11 1 19999 19966 19783 17110 16429 14901 11965 10313 11541 11460 10 1 20000 19962 17517 16438 15491 12...
result:
ok correct (10 test cases)
Test #6:
score: -100
Time Limit Exceeded
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...