제출 #1252352

#제출 시각아이디문제언어결과실행 시간메모리
1252352MuhammetBitaro’s Party (JOI18_bitaro)C++20
14 / 100
2093 ms16456 KiB
#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], ds; void f(int x) { if(ds[x] != -(1e9 + 1)) return; 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; } ds.assign(n+1, -(1e9 + 1)); f(t); cout << (ds[t] < 0 ? -1 : ds[t]) << '\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...