252762026-02-18 23:14:25999Utazás (40)cpp17Hibás válasz 4/4057ms6452 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
    int n,m,Q;cin>>n>>m>>Q;
    vector<int> kerdesek(Q);
    for(int i = 0;i<Q;i++){
        cin>>kerdesek[i];
        kerdesek[i]--;
    }
    vector<vector<int>> v(n),g(n);
    vector<int> fok(n);
    for(int i = 0;i<n;i++){
        int a,b;
        cin>>a>>b;
        v[--a].push_back(--b);
        g[b].push_back(a);
        fok[a]++;
    }
    queue<int> q;
    vector<int> dp(n,-1);
    //int japan=0;
    for(int i = 0;i<n;i++){
        if(fok[i]==0){
            q.push(i);
            //japan=i;
        }
    }
    while(!q.empty()){
        int a=q.front();
        q.pop();
        bool csk1=true;
        for(int u : v[a]){
            if(dp[u]==2){
                csk1=false;
                break;
            }
        }
        if(csk1)dp[a]=2;
        else dp[a]=1;
        for(int u : g[a]){
            fok[u]--;
            if(fok[u]==0){
                q.push(u);
            }
        }
    }
    //cout<<japan<<endl;
    //for(int i : dp)cout<<i<<' ';return 0;
    for(int i : kerdesek){
        if(dp[i]==1)cout<<'A'<<endl;
        else cout<<'B'<<endl;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/40
1Elfogadva0/01ms404 KiB
2Hibás válasz0/057ms6452 KiB
3Hibás válasz0/11ms500 KiB
4Hibás válasz0/21ms560 KiB
5Hibás válasz0/11ms316 KiB
6Elfogadva2/21ms324 KiB
7Hibás válasz0/22ms528 KiB
8Elfogadva2/24ms932 KiB
9Hibás válasz0/22ms316 KiB
10Hibás válasz0/23ms612 KiB
11Hibás válasz0/23ms824 KiB
12Hibás válasz0/34ms1012 KiB
13Hibás válasz0/36ms820 KiB
14Hibás válasz0/37ms1156 KiB
15Hibás válasz0/38ms1404 KiB
16Hibás válasz0/38ms1516 KiB
17Hibás válasz0/39ms1588 KiB
18Hibás válasz0/310ms1708 KiB
19Hibás válasz0/310ms1492 KiB