241882026-02-05 22:46:51lorantbFertőzési sorozat (50 pont)cpp17Wrong answer 42/5013ms608 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> g;

void bfs(int a, vector<int> &x) {
	queue<int> q;
	q.push(a);
	x[a] = 0;
	while(q.size() != 0) {
		int v = q.front();
		q.pop();
		for(int i : g[v]) {
			if(x[i] == -1) {
				x[i] = x[v] + 1;
				q.push(i);
			}
		}
	}
}

int main() {
	int n,m,k; cin >> n >> m >> k;
	vector<int> x(0);
	g.assign(n+1, vector<int>(0));
	vector<int> ans(0);
	for(int i = 0; i < k; i++) {
		int a; cin >> a;
		x.push_back(a);
	}
	for(int i = 0; i < m; i++) {
		int a,b; cin >>a >> b;
		g[a].push_back(b);
		g[b].push_back(a);
	}
	for(int i = 1; i <= n; i++) {
		vector<int> z(n+1, -1);
		bfs(i,z);
		bool u = true;
		for(int j = 1; j < k; j++) {
			if(z[x[j]] != z[x[j-1]] && z[x[j]] != z[x[j-1]] + 1) u = false;
		}
		if(u) ans.push_back(i);
	}
	cout << ans.size() << endl;
	for(int i : ans) cout << i << " ";
}
SubtaskSumTestVerdictTimeMemory
base42/50
1Accepted0/01ms556 KiB
2Accepted0/01ms316 KiB
3Accepted0/04ms316 KiB
4Accepted2/22ms316 KiB
5Accepted2/22ms316 KiB
6Accepted2/23ms416 KiB
7Accepted2/23ms316 KiB
8Accepted2/23ms316 KiB
9Accepted2/24ms316 KiB
10Accepted2/212ms436 KiB
11Accepted1/11ms332 KiB
12Accepted2/24ms316 KiB
13Accepted2/24ms608 KiB
14Accepted2/24ms316 KiB
15Accepted2/24ms432 KiB
16Accepted2/24ms500 KiB
17Accepted2/24ms500 KiB
18Accepted1/14ms316 KiB
19Accepted1/14ms508 KiB
20Accepted1/14ms316 KiB
21Accepted1/112ms500 KiB
22Accepted1/112ms316 KiB
23Accepted1/19ms436 KiB
24Wrong answer0/18ms508 KiB
25Accepted1/18ms432 KiB
26Accepted1/19ms316 KiB
27Wrong answer0/110ms440 KiB
28Wrong answer0/18ms316 KiB
29Accepted1/19ms316 KiB
30Wrong answer0/18ms316 KiB
31Wrong answer0/18ms440 KiB
32Accepted1/19ms316 KiB
33Accepted1/113ms316 KiB
34Wrong answer0/110ms436 KiB
35Wrong answer0/112ms436 KiB
36Wrong answer0/110ms436 KiB
37Accepted1/112ms580 KiB
38Accepted1/110ms316 KiB
39Accepted1/19ms432 KiB
40Accepted1/112ms316 KiB