91852024-02-17 16:50:59xxxA lehető legkevesebb metróval utazás (40 pont)cpp17Hibás válasz 0/40577ms15796 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL);
	int n, m, ind, erk;
	cin >> n >> m >> ind >> erk;
	vector<vector<int> > megall(m+1);
	vector<vector<bool> > el(n+1, vector<bool>(n+1, false));
	for(int i = 0; i < n; i++) {
		int db;
		cin >> db;
		for(int j = 0; j < db; j++) {
			int x;
			cin >> x;
			megall[x].push_back(i);
		}
	}

	

	for(int i = 1; i <= m; i++) {
		if (megall[i].size() > 1) {
			for(int j = 0; j < megall[i].size(); j++) {
				for(int k = j+1; k < megall[i].size(); k++) {
					el[megall[i][j]][megall[i][k]] = 1;
					el[megall[i][k]][megall[i][j]] = 1;
				}
			}
		}
	}
	return 0;
	queue<int> q;
	vector<int> tav(n+1, -1), parent(n+1, -1);

	for(int i : megall[ind]) {
		q.push(i);
		tav[i] = 1;
	}

	while(!q.empty()) {
		int u = q.front();
		q.pop();
		for(int i = 0; i < n; i++) {
			if (el[u][i]) {
				if (tav[i] == -1) {
					tav[i] = tav[u]+1;
					parent[i] = u;
					q.push(i);
				}
			}
		}
	}

	int ans = INT_MAX, mini = 0;
	for(int i : megall[erk]) {
		if (ans > tav[i]) {
			ans = tav[i];
			mini = i;
		}
	}
	cout << ans << '\n';

	vector<int> ansv;
	
	while(ans--) {
		ansv.push_back(mini);
		mini = parent[mini];
	}
	reverse(ansv.begin(), ansv.end());
	for(int x : ansv) {
		cout << x+1 << ' ';
	}

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Hibás válasz0/03ms1828 KiB
2Hibás válasz0/04ms3032 KiB
3Hibás válasz0/23ms2236 KiB
4Hibás válasz0/23ms2444 KiB
5Hibás válasz0/23ms2584 KiB
6Hibás válasz0/23ms2576 KiB
7Hibás válasz0/23ms2956 KiB
8Hibás válasz0/23ms3088 KiB
9Hibás válasz0/24ms3660 KiB
10Hibás válasz0/24ms3888 KiB
11Hibás válasz0/23ms3472 KiB
12Hibás válasz0/24ms4020 KiB
13Hibás válasz0/24ms4316 KiB
14Hibás válasz0/24ms4480 KiB
15Időlimit túllépés0/2577ms15796 KiB
16Időlimit túllépés0/2535ms9000 KiB
17Időlimit túllépés0/2570ms8924 KiB
18Időlimit túllépés0/2550ms9336 KiB
19Hibás válasz0/24ms4648 KiB
20Hibás válasz0/24ms4624 KiB
21Hibás válasz0/24ms4204 KiB
22Hibás válasz0/24ms4820 KiB