# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
47751 | 2018-05-07T04:32:12 Z | Just_Solve_The_Problem | Bitaro’s Party (JOI18_bitaro) | C++11 | 8 ms | 5568 KB |
#include <bits/stdc++.h> using namespace std; #define pb push_back #define eb emplace_back #define ll long long #define pii pair < int, int > #define fr first #define sc second #define mk make_pair #define sz(s) (int)s.size() #define all(s) s.begin(), s.end() #define ok puts("ok"); #define whatis(x) cerr << #x << " = " << x << endl; #define pause system("pause"); #define random (rand() ^ (rand() << 15)) const int N = (int)1e5 + 7; const int inf = (int)1e9 + 7; int n, m, q, t, y; vector < int > gr[N]; vector < int > revgr[N]; int used[N], h[N], deg[N], u[N]; void dfs(int v) { u[v] = 1; if (v == t) { h[v] = 0; return ; } h[v] = -inf; for (int to : gr[v]) { if (!u[to]) dfs(to); h[v] = max(h[to] + 1, h[v]); } } main() { scanf("%d %d %d", &n, &m, &q); // if (q != 1) return 0; for (int i = 1; i <= m; i++) { int u, v; scanf("%d %d", &u, &v); gr[u].pb(v); deg[v]++; revgr[v].pb(u); } while (q--) { scanf("%d %d", &t, &y); for (int i = 1; i <= y; i++) { int x; scanf("%d", &x); used[x] = 1; } } for (int i = 1; i <= n; i++) { if (!deg[i]) dfs(i); } memset(u, 0, sizeof u); for (int i = 1; i <= n; i++) { if (!deg[i]) dfs(i); } int mx = -1; for (int i = 1; i <= n; i++) { if (!used[i]) { mx = max(mx, h[i]); } } cout << mx << endl; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 5368 KB | Output is correct |
2 | Correct | 8 ms | 5492 KB | Output is correct |
3 | Correct | 7 ms | 5492 KB | Output is correct |
4 | Incorrect | 7 ms | 5568 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 5368 KB | Output is correct |
2 | Correct | 8 ms | 5492 KB | Output is correct |
3 | Correct | 7 ms | 5492 KB | Output is correct |
4 | Incorrect | 7 ms | 5568 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 5368 KB | Output is correct |
2 | Correct | 8 ms | 5492 KB | Output is correct |
3 | Correct | 7 ms | 5492 KB | Output is correct |
4 | Incorrect | 7 ms | 5568 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |