QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#462955 | #6634. Central Subset | grass8cow# | WA | 19ms | 30472kb | C++17 | 839b | 2024-07-04 10:25:46 | 2024-07-04 10:25:46 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int n,m,d[1010000];
bool vis[1010000];
#define pb push_back
vector<int>g[1010000];
void dfs(int x){
vis[x]=1;
for(int v:g[x])
if(!vis[v])
d[v]=d[x]+1,dfs(v);
}
int B,tx[1010000];
void sol(){
scanf("%d%d",&n,&m);B=sqrt(n);
for(int i=1;i<=n;i++)g[i].clear();
for(int i=1,u,v;i<=m;i++)
scanf("%d%d",&u,&v),g[u].pb(v),g[v].pb(u);
dfs(1);
for(int i=0;i<=B;i++)tx[i]=0;
for(int i=1;i<=n;i++)tx[d[i]%(B+1)]++;
int md=0;
for(int i=0;i<=B;i++)if(tx[md]>tx[i])md=i;
vector<int>gg;
if(md)gg.push_back(1);
for(int i=1;i<=n;i++)if(d[i]%(B+1)==md)gg.push_back(i);
printf("%d\n",gg.size());
for(int x:gg)printf("%d ",x);puts("");
}
int main(){
int T;scanf("%d",&T);while(T--)sol();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 30472kb
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 2 2 1 2
result:
ok correct (2 test cases)
Test #2:
score: -100
Wrong Answer
time: 19ms
memory: 28556kb
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:
4 1 4 8 12 2 1 4 3 1 3 7 1 1 1 1 3 1 2 6 1 1 4 1 3 7 11 4 1 2 7 12 4 1 2 7 12 4 1 2 7 12 3 1 3 6 3 1 3 7 4 1 2 7 12 2 1 3 4 1 4 8 12 3 1 2 5 1 1 3 1 2 6 4 1 2 7 12 2 1 2 3 1 3 6 4 1 3 7 11 4 1 2 7 12 2 1 4 4 1 4 8 12 2 1 4 4 1 2 7 12 2 1 2 3 1 3 6 4 1 2 7 12 4 1 2 6 10...
result:
wrong answer Condition failed: "getMaxBfsDist(n, subset) <= csqrtn" (test case 11)