QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#127164#6634. Central Subsetxiaoxing666#WA 16ms7792kbC++171.1kb2023-07-19 13:38:142023-07-19 13:38:57

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-19 13:38:57]
  • 评测
  • 测评结果:WA
  • 用时:16ms
  • 内存:7792kb
  • [2023-07-19 13:38:14]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;
int n, m;
const int N = 2e5+20, M = 1.2e6;
int head[N], ver[M*2], nxt[M*2];
int tot = 0;
queue<int> q;
int d[N];
inline void add(int x, int y){
	ver[++tot] = y;
	nxt[tot] = head[x];
	head[x] = tot;
}
void init(){
	tot = 0;
	for(int i = 0; i <= n; i++) {
			head[i] = 0;
			d[i] = -1;
	}
}
void bfs(int fir){
	q.push(fir);
	d[1] = 0;
	while(q.size()){
		int x = q.front();
		q.pop();
		for(int _ = head[x]; _; _ = nxt[_]){
			int y = ver[_];
			if(d[y] != -1) continue;
			d[y] = d[x] + 1;
			q.push(y);
		}
	}
}
int main()
{
	int T;
	cin >> T;
	while(T--){
		vector<int> ans;
		scanf("%d%d", &n, &m);
		init();
		for(int i = 1; i <= m; i++){
			int x, y;
			scanf("%d%d", &x, &y);
			add(x, y);
			add(y, x);
		}
		bfs(1);
		//for(int i = 1; i <= n; i++) cout << d[i] << "  ";
		int k = ceil(sqrt(n));
		for(int i = 1; i <= n; i++){
			if(d[i] % (k+1) == 0){
				ans.push_back(i);
			}
		}
		printf("%d\n", (int)ans.size());
		for(int x : ans){
			printf("%d ", x);
		}
		puts("");
	}

	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 7788kb

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: -100
Wrong Answer
time: 16ms
memory: 7792kb

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 6 11 
1
1 
3
1 6 10 
1
1 
1
1 
3
1 5 9 
1
1 
3
1 6 12 
5
1 7 8 9 10 
1
1 
4
1 7 13 19 
3
1 6 7 
3
1 6 10 
4
1 11 12 13 
1
1 
3
1 6 11 
1
1 
1
1 
2
1 9 
1
1 
2
1 4 
2
1 6 
3
1 6 12 
3
1 13 14 
1
1 
3
1 6 11 
1
1 
3
1 6 13 
1
1 
1
1 
4
1 7 13 19 
4
1 9 11 13 
3
1 6 12 
3
1 10 11 
1
1 
2
1 5 
3
1 6...

result:

wrong answer Integer 5 violates the range [1, 4] (test case 9)