Submission #1329090

#TimeUsernameProblemLanguageResultExecution timeMemory
1329090ffeyyaae_Bitaro’s Party (JOI18_bitaro)C++20
0 / 100
2093 ms612 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = 1e5+5;

int n, m, q, party, mx;
vector<int> canal[N];

void dfs( int u, int cnt )
{
    if( u == party )
    {
        mx = max( mx, cnt );
        return;
    } 
    for( int v : canal[u] )
    {
        dfs( v, cnt+1 );
    }
}

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin >> n >> m >> q;
    while( m-- )
    {
        int s, e;
        cin >> s >> e;
        canal[s].push_back(e);
    }
    while( q-- )
    {
        int busy;
        cin >> party >> busy;
        bool vcnt[N] = {false};
        while( busy-- )
        {
            int a; cin >> a;
            vcnt[a] = true;
        }
        mx = -1;
        for( int i=1;i<=n;i++ )
        {
            if( vcnt[i] ) continue;
            dfs( i, 0 );
        }
        cout << mx << "\n";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...