QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#139609 | #6634. Central Subset | FzArK | TL | 71ms | 24236kb | C++17 | 2.3kb | 2023-08-14 03:40:02 | 2023-08-14 03:40:03 |
Judging History
answer
#include<bits/stdc++.h>
#include <stdio.h>
#include <algorithm>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define sc(x) scanf("%d", &x)
#define scl(x) scanf("%lld", &x)
#define clr(x) vector<int>().swap(x);
#define all(x) x.begin(), x.end()
#define sz(x) x.size()
#define endl '\n'
#define pb push_back
#define pf push_front
#define mp make_pair
#define popb pop_back
#define popf pop_front
#define ll long long
#define ld long double
#define ull unsigned long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define random mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define FAST ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define F first
#define S second
const ll INF=1e18;
const ll MN=-2e9;
const ll MX=2e5+9;
const ll MXX=1e9;
const ll SQ=4e2;
const ll MOD=998244353;
const ll PP=1e6+3;
const ld PI=3.141592653589793;
const ld eps=1e-11;
typedef tree<ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update>
ordered_set;
int n, m, q, p[MX], d[MX], vis[MX];
vector<int> I, ans, adj[MX];
void init() {
q = 0;
I.clear();
ans.clear();
for (int i=1; i<=n; i++) {
vis[i] = 0;
adj[i].clear();
}
}
void go(int u, int par) {
if (vis[u]) return;
vis[u] = 1;
p[u] = par;
d[u] = d[par] + 1;
for (auto v:adj[u]) go(v, u);
vis[u] = 0;
}
void gg(int u) {
if (vis[u]) return;
vis[u] = 1;
for (auto v:adj[u]) if (v != p[u]) {
gg(v);
}
}
void solve() {
cin >> n >> m;
while (m--) {
int u, v;
cin >> u >> v;
adj[u].pb(v);
adj[v].pb(u);
}
go(1, 0);
for (int i=1; i<=n; i++) I.pb(i);
q = sqrt(n+1);
sort (all(I), [&](int i, int j){
if (d[i] == d[j]) return i < j;
return d[i] > d[j];
});
for (auto v:I) if (!vis[v]) {
for (int i=0; i<q; i++) {
if (v == 1) break;
v = p[v];
}
if (vis[v]) continue;
gg(v);
ans.pb(v);
}
cout << sz(ans) << endl;
for (auto x:ans) cout << x << " "; cout << endl;
init();
}
int main() {
FAST;
int t = 1;
cin >> t;
while (t--) {
solve();
}
}
/*
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 10196kb
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 2 4 1
result:
ok correct (2 test cases)
Test #2:
score: 0
Accepted
time: 17ms
memory: 8252kb
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 2 2 1 2 3 1 1 1 1 1 3 6 2 1 1 1 3 5 2 1 3 10 3 1 1 1 4 16 11 6 1 2 3 1 2 3 1 3 8 2 1 1 1 3 11 6 1 2 2 1 1 1 2 2 1 1 1 2 2 1 2 3 1 3 5 2 1 3 8 2 1 1 1 3 11 6 1 2 2 1 2 5 1 1 1 1 1 5 17 12 7 2 1 2 3 1 3 5 2 1 3 7 4 1 1 1 2 4 1 2 3 1 2 4 1 4 9 10 2 1 1 1 ...
result:
ok correct (10000 test cases)
Test #3:
score: 0
Accepted
time: 32ms
memory: 10132kb
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:
45 1956 1911 1866 1821 1776 1731 1686 1641 1596 1551 1506 1461 1416 1371 1326 1281 1236 1191 1146 1101 1056 1011 966 921 876 831 786 741 696 651 606 561 516 471 426 381 336 291 246 201 156 111 66 21 1 1 1 23 957 913 869 825 781 737 693 649 605 561 517 473 429 385 341 297 253 209 165 121 77 33 1 6...
result:
ok correct (100 test cases)
Test #4:
score: 0
Accepted
time: 29ms
memory: 10672kb
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:
122 14792 14669 14546 14423 14300 14177 14054 13931 13808 13685 13562 13439 13316 13193 13070 12947 12824 12701 12578 12455 12332 12209 12086 11963 11840 11717 11594 11471 11348 11225 11102 10979 10856 10733 10610 10487 10364 10241 10118 9995 9872 9749 9626 9503 9380 9257 9134 9011 8888 8765 8642 85...
result:
ok correct (10 test cases)
Test #5:
score: 0
Accepted
time: 42ms
memory: 11064kb
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 6198 3292 1173 1 5 10856 8392 191 194 1 5 11363 8074 3349 490 1 5 10707 9964 3909 3440 1 6 15220 14683 8701 8697 1554 1 6 15145 6253 4160 2685 221 1 7 16006 8675 6700 1114 1030 263 1 6 7893 6251 5472 2455 281 1 6 14329 1630 1123 1062 36 1 5 9027 8919 7878 2555 1
result:
ok correct (10 test cases)
Test #6:
score: 0
Accepted
time: 62ms
memory: 24236kb
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 199553 199105 198657 198209 197761 197313 196865 196417 195969 195521 195073 194625 194177 193729 193281 192833 192385 191937 191489 191041 190593 190145 189697 189249 188801 188353 187905 187457 187009 186561 186113 185665 185217 184769 184321 183873 183425 182977 182529 182081 181633 181185 18...
result:
ok correct (1 test case)
Test #7:
score: 0
Accepted
time: 71ms
memory: 20924kb
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 99554 99107 98660 98213 97766 97319 96872 96425 95978 95531 95084 94637 94190 93743 93296 92849 92402 91955 91508 91061 90614 90167 89720 89273 88826 88379 87932 87485 87038 86591 86144 85697 85250 84803 84356 83909 83462 83015 82568 82121 81674 81227 80780 80333 79886 79439 78992 78545 78098 77...
result:
ok correct (1 test case)
Test #8:
score: 0
Accepted
time: 66ms
memory: 17472kb
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 149099 118962 108151 81938 4128 1
result:
ok correct (1 test case)
Test #9:
score: -100
Time Limit Exceeded
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...