#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define SZ(s) (int)s.size()
#define ff first
#define ss second
const int N = 1e5 + 5;
vector <int> v[N], vis, v1[N];
int ans, ds[N];
void f(int x) {
ds[x] = (vis[x] ? 0 : -1e9);
for(auto i : v1[x]) {
f(i);
ds[x] = max(ds[x], ds[i] + 1);
}
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(nullptr);
int n, m, q;
cin >> n >> m >> q;
for(int i = 1; i <= m; i++) {
int u1, u2;
cin >> u1 >> u2;
v[u1].push_back(u2);
v1[u2].push_back(u1);
}
vector <int> a;
while(q--) {
int t, y;
cin >> t >> y;
a.resize(y);
for(int i = 0; i < y; i++) {
cin >> a[i];
}
vis.assign(n+1, true);
for(auto i : a) {
vis[i] = false;
}
f(t);
cout << (ds[t] < 0 ? -1 : ds[t]) << '\n';
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |