60942023-10-29 18:05:08horvathabelUtazás (40)cpp17Wrong answer 15/40143ms54656 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> g[1000001];
vector<bool> mego;
void dfs(int x, int p){
    if (mego[x]) return;
    else{
        mego[x]=!mego[p];
        for (int edge:g[x]){
            dfs(edge,x);
        }
    }
}
int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    mego.resize(n+1, 0);
    vector<int> ans;
    for (int q=0; q<k;q++){
        int x;
        cin>>x;
        ans.push_back(x);
    }
    vector<int> x(n+1,0);
    for (int i=0; i<m;i++){
        int a,b;
        cin>>a>>b;
        x[a]++;
        g[b].push_back(a);
    }
    mego[0]=1;
    for (int i=1; i<=n;i++){
            if (x[i]==0){
                dfs(i,0);
            }
    }
   for (int x: ans) cout<<(mego[x]? "A\n" :"B\n");


}
SubtaskSumTestVerdictTimeMemory
base15/40
1Accepted0/019ms48804 KiB
2Wrong answer0/096ms52976 KiB
3Accepted1/118ms49928 KiB
4Accepted2/223ms50232 KiB
5Accepted1/119ms50236 KiB
6Accepted2/219ms50508 KiB
7Accepted2/221ms50500 KiB
8Accepted2/226ms50884 KiB
9Wrong answer0/226ms50872 KiB
10Accepted2/226ms51308 KiB
11Wrong answer0/248ms51828 KiB
12Accepted3/350ms51988 KiB
13Wrong answer0/350ms52072 KiB
14Wrong answer0/350ms51964 KiB
15Wrong answer0/356ms52100 KiB
16Wrong answer0/357ms52208 KiB
17Wrong answer0/386ms53100 KiB
18Wrong answer0/3143ms54656 KiB
19Wrong answer0/3143ms54644 KiB