8029 2024. 01. 12 10:55:12 FulopMate Utazás (40) cpp17 Elfogadva 40/40 54ms 16464 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m, q;
vector<int> qu;
vector<vector<int>> v;
vector<char> ans;

char dfs(int x){
	if(ans[x] != '-'){
		return ans[x];
	}
	if(v[x].empty()){
		return 'B';
	}
	for(int i : v[x]){
		if(dfs(i) == 'B'){
			return ans[x] = 'A';
		}
	}
	return ans[x] = 'B';
}

int main() {
	cin.sync_with_stdio(0); cin.tie(0);
	cin>>n>>m>>q;
	qu.assign(q, 0);
	v.assign(n, {});
	ans.assign(n, '-');
	for(int&i:qu)cin>>i;
	for(int i = 0; i < m; i++){
		int a, b; cin>>a>>b; a--; b--;
		v[a].push_back(b);
	}
	for(int i = 0; i < n; i++){
		dfs(i);
	}
	for(int i:qu){
		cout<<ans[i-1]<<endl;
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1952 KiB
2 Elfogadva 0/0 37ms 8188 KiB
3 Elfogadva 1/1 3ms 3416 KiB
4 Elfogadva 2/2 3ms 3636 KiB
5 Elfogadva 1/1 3ms 3740 KiB
6 Elfogadva 2/2 3ms 3844 KiB
7 Elfogadva 2/2 4ms 4072 KiB
8 Elfogadva 2/2 6ms 4412 KiB
9 Elfogadva 2/2 4ms 4204 KiB
10 Elfogadva 2/2 4ms 4456 KiB
11 Elfogadva 2/2 14ms 5900 KiB
12 Elfogadva 3/3 14ms 6596 KiB
13 Elfogadva 3/3 16ms 7668 KiB
14 Elfogadva 3/3 16ms 8028 KiB
15 Elfogadva 3/3 16ms 8620 KiB
16 Elfogadva 3/3 17ms 9140 KiB
17 Elfogadva 3/3 28ms 10892 KiB
18 Elfogadva 3/3 54ms 14192 KiB
19 Elfogadva 3/3 52ms 16464 KiB