#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m, query; cin >> n >> m >> query;
vector<vector<int>> g(n + 1);
for (int i = 1; i <= m; i++) {
int u, v; cin >> u >> v;
g[u].push_back(v);
}
while (query--) {
int p, j; cin >> p >> j;
vector<bool> vis(n + 1, 1);
for (int i = 1; i <= j; i++) {
int x; cin >> x;
vis[x] = 0;
}
vector<int> dist(n + 1, -1);
for (int i = 1; i <= n; i++) {
if (vis[i]) dist[i] = max(dist[i], 0);
if (dist[i] != -1) {
for (auto v : g[i]) {
dist[v] = max(dist[v], dist[i] + 1);
}
}
}
cout << dist[p] << '\n';
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |