QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#321400#6634. Central SubsetTerkWA 25ms30880kbC++14665b2024-02-04 16:46:192024-02-04 16:46:20

Judging History

你现在查看的是最新测评结果

  • [2024-02-04 16:46:20]
  • 评测
  • 测评结果:WA
  • 用时:25ms
  • 内存:30880kb
  • [2024-02-04 16:46:19]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int n,m,K;
vector<int> e[N];
int vis[N],ans[N],cnt;
int dfs(int x,int fa){
	vis[x]=1;
	int res=0;
	for(auto y:e[x]){
		if(y==fa||vis[y]) continue;
		res=max(res,dfs(y,x));
	}
	if(res==K){
		ans[++cnt]=x;
		return 0;	
	}
	return res+1;
}
int main(){
	int T;
	cin>>T;
	while(T--){
		cin>>n>>m;
		cnt=0,K=sqrt(n);
		for(int i=1;i<=m;i++){
			int u,v;
			cin>>u>>v;
			e[u].push_back(v);
			e[v].push_back(u);
		}
		dfs(1,0);
		cout<<cnt<<'\n';
		for(int i=1;i<=cnt;i++) cout<<ans[i]<<' ';
		cout<<'\n';
		for(int i=1;i<=n;i++) vis[i]=0,e[i].clear();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 3ms
memory: 30880kb

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:

1
2 
2
4 1 

result:

ok correct (2 test cases)

Test #2:

score: -100
Wrong Answer
time: 25ms
memory: 29956kb

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
12 8 4 
1
2 
1
3 
1
1 
1
1 
2
6 2 
1
1 
2
5 2 
2
10 3 
0

4
16 11 6 1 
2
4 2 
1
3 
2
8 2 
1
1 
3
12 8 4 
1
2 
1
1 
1
2 
0

1
2 
2
4 2 
2
5 2 
2
8 2 
1
1 
3
12 8 4 
1
2 
2
5 1 
1
2 
1
1 
4
17 12 7 2 
1
3 
2
5 2 
2
7 4 
1
1 
2
4 1 
1
3 
2
4 1 
3
10 9 2 
1
1 
3
9 5 1 
1
2 
2
4 1 
1
2 
0

2
7 3 
2
6 1...

result:

wrong answer Integer 0 violates the range [1, 4] (test case 10)