6684 2023. 12. 16 14:08:08 111 Utazás (40) cpp17 Elfogadva 40/40 54ms 10288 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("be2.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int N, M, Q;
	cin >> N >> M >> Q;
	vector<int> q(Q);
	for (int i = 0; i < Q; i++) {
		cin >> q[i];
	}
	vector<vector<int>> g(N + 1);
	vector<int> c(N + 1);
	for (int i = 0; i < M; i++) {
		int a, b;
		cin >> a >> b;
		g[a].push_back(b);
		c[b]++;
	}
	vector<int> s;
	auto dfs = [&](auto dfs, int i) {
		if (c[i]) {
			return;
		}
		c[i]--;
		s.push_back(i);
		for (int j : g[i]) {
			c[j]--;
			dfs(dfs, j);
		}
	};
	for (int i = 1; i <= N; i++) {
		dfs(dfs, i);
	}
	reverse(s.begin(), s.end());
	vector<char> a(N + 1);
	for (int i : s) {
		a[i] = 'B';
		for (int j : g[i]) {
			if (a[j] == 'B') {
				a[i] = 'A';
			}
		}
	}
	for (int i : q) {
		cout << a[i] << '\n';
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 41ms 9760 KiB
3 Elfogadva 1/1 3ms 2264 KiB
4 Elfogadva 2/2 3ms 2336 KiB
5 Elfogadva 1/1 3ms 2464 KiB
6 Elfogadva 2/2 3ms 2548 KiB
7 Elfogadva 2/2 4ms 2784 KiB
8 Elfogadva 2/2 6ms 3704 KiB
9 Elfogadva 2/2 4ms 3308 KiB
10 Elfogadva 2/2 6ms 3688 KiB
11 Elfogadva 2/2 14ms 4916 KiB
12 Elfogadva 3/3 16ms 5332 KiB
13 Elfogadva 3/3 16ms 5404 KiB
14 Elfogadva 3/3 16ms 5536 KiB
15 Elfogadva 3/3 17ms 5520 KiB
16 Elfogadva 3/3 17ms 5636 KiB
17 Elfogadva 3/3 29ms 7484 KiB
18 Elfogadva 3/3 52ms 10288 KiB
19 Elfogadva 3/3 54ms 10284 KiB