241942026-02-05 23:06:59lorantbFertőzési sorozat (50 pont)cpp17Hibás válasz 47/5014ms508 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;
		vector<bool> o(n+1);
		int p = -1;
		for(int j = 1; j < k; j++) {
			if(z[x[j]] == 0 || (z[x[j]] != z[x[j-1]] + 1 && z[x[j]] != z[x[j-1]])) u = false;
			if(z[x[0]] < z[x[j]] - 1) p = z[x[j]] - 1;
			o[x[j]] = true;
		}
		if(p != -1) {
			for(int e = 1; e <= n; e++) {
				if(o[e] == false && (z[e] <= z[x[0]] && z[e] <= p)) u = false;
			}
		}
		if(u) ans.push_back(i);
	}
	cout << ans.size() << endl;
	for(int i : ans) cout << i << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base47/50
1Elfogadva0/02ms500 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/04ms316 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/23ms316 KiB
7Elfogadva2/23ms316 KiB
8Elfogadva2/23ms500 KiB
9Elfogadva2/24ms316 KiB
10Elfogadva2/212ms432 KiB
11Elfogadva1/11ms316 KiB
12Elfogadva2/24ms432 KiB
13Elfogadva2/24ms316 KiB
14Elfogadva2/24ms316 KiB
15Elfogadva2/24ms508 KiB
16Elfogadva2/24ms316 KiB
17Elfogadva2/24ms316 KiB
18Hibás válasz0/14ms316 KiB
19Elfogadva1/14ms432 KiB
20Elfogadva1/14ms432 KiB
21Elfogadva1/112ms436 KiB
22Elfogadva1/112ms500 KiB
23Hibás válasz0/19ms316 KiB
24Elfogadva1/18ms436 KiB
25Elfogadva1/18ms436 KiB
26Elfogadva1/19ms436 KiB
27Elfogadva1/112ms436 KiB
28Elfogadva1/18ms432 KiB
29Elfogadva1/110ms440 KiB
30Elfogadva1/18ms436 KiB
31Elfogadva1/18ms508 KiB
32Elfogadva1/19ms432 KiB
33Hibás válasz0/114ms508 KiB
34Elfogadva1/110ms508 KiB
35Elfogadva1/110ms316 KiB
36Elfogadva1/110ms436 KiB
37Elfogadva1/112ms440 KiB
38Elfogadva1/112ms316 KiB
39Elfogadva1/19ms432 KiB
40Elfogadva1/113ms432 KiB