QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#321401#6634. Central SubsetTerkWA 23ms30320kbC++14683b2024-02-04 16:47:402024-02-04 16:47:40

Judging History

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

  • [2024-02-04 16:47:40]
  • 评测
  • 测评结果:WA
  • 用时:23ms
  • 内存:30320kb
  • [2024-02-04 16:47:40]
  • 提交

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);
		if(K*K!=n) K++;
		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;
}

详细

Test #1:

score: 100
Accepted
time: 4ms
memory: 30320kb

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 
1
1 

result:

ok correct (2 test cases)

Test #2:

score: -100
Wrong Answer
time: 23ms
memory: 29408kb

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 
1
1 
1
2 
0

0

2
6 2 
0

1
4 
2
10 3 
0

3
15 9 3 
1
3 
1
2 
1
5 
0

3
11 6 1 
1
1 
0

1
2 
0

1
2 
1
3 
1
4 
2
5 1 
0

3
11 6 1 
1
1 
2
5 1 
1
1 
0

3
16 10 4 
1
2 
1
4 
2
7 4 
0

1
3 
1
2 
1
3 
3
7 6 1 
0

2
8 3 
1
1 
1
3 
1
2 
0

2
6 1 
1
3 
1
3 
2
5 1 
0

3
13 7 1 
1
1 
1
3 
1
4 
0

3...

result:

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