6463 2023. 12. 02 16:49:20 111 Tom és Jerry2 (60) cpp17 Hibás válasz 21/60 45ms 15088 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

#define INF 1e9

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("be1.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int N, M, T, DB, E;
	cin >> N >> M >> T >> DB >> E;
	vector<vector<int>> gj(N + 1);
	vector<vector<int>> gt(N + 1);
	for (int i = 0; i < M; i++) {
		int a, b, s;
		cin >> a >> b >> s;
		gj[a].push_back(b);
		gj[b].push_back(a);
		if (s == 2) {
			gt[a].push_back(b);
			gt[b].push_back(a);
		}
	}
	deque<int> q;
	vector<int> dt(N + 1, INF);
	dt[T] = 0;
	q.push_back(T);
	while (!q.empty()) {
		int i = q.front();
		q.pop_front();
		for (int j : gt[i]) {
			if (dt[j] == INF && j != E) {
				dt[j] = dt[i] + 1;
				q.push_back(j);
			}
		}
	}
	vector<int> v(N + 1);
	vector<int> w(N + 1);
	v[E] = 1;
	q.push_back(E);
	while (!q.empty()) {
		int i = q.front();
		q.pop_front();
		for (int j : gj[i]) {
			int k = (i == E) ? j : w[i];
			if (v[j] == 0) {
				v[j] = v[i] + 1;
				w[j] = k;
				q.push_back(j);
			}
			else {
				if (w[j] != k) {
					w[j] = j;
				}
			}
		}
	}
	while (DB--) {
		int i;
		cin >> i;
		if (dt[w[i]] <= v[i] - v[w[i]]) {
			cout << w[i] << '\n';
		}
		else {
			cout << 0 << '\n';
		}
	}
	return 0;
}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 21/60
1 Elfogadva 0/0 3ms 1824 KiB
2 Hibás válasz 0/0 9ms 5004 KiB
3 Hibás válasz 0/2 3ms 2236 KiB
4 Elfogadva 2/2 3ms 2340 KiB
5 Hibás válasz 0/2 3ms 2556 KiB
6 Hibás válasz 0/3 3ms 2644 KiB
7 Hibás válasz 0/2 3ms 2916 KiB
8 Hibás válasz 0/2 3ms 3092 KiB
9 Hibás válasz 0/2 3ms 2928 KiB
10 Hibás válasz 0/3 3ms 3120 KiB
11 Hibás válasz 0/3 3ms 3396 KiB
12 Hibás válasz 0/3 4ms 3896 KiB
13 Hibás válasz 0/3 7ms 4728 KiB
14 Hibás válasz 0/3 8ms 5276 KiB
15 Elfogadva 3/3 8ms 5424 KiB
16 Hibás válasz 0/3 10ms 5976 KiB
17 Elfogadva 3/3 9ms 6564 KiB
18 Elfogadva 3/3 18ms 9232 KiB
19 Hibás válasz 0/4 30ms 11320 KiB
20 Hibás válasz 0/4 45ms 15088 KiB
21 Elfogadva 5/5 26ms 11960 KiB
22 Elfogadva 5/5 26ms 11568 KiB