# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
22951 | 2017-04-30T17:01:12 Z | Bruteforceman | Bosses (BOI16_bosses) | C++11 | 0 ms | 2176 KB |
#include <bits/stdc++.h> using namespace std; vector <int> g[5555]; bool vis[5555]; int sub[5555]; int n; void dfs(int x) { vis[x] = true; sub[x] = 1; for(auto i : g[x]) { if(vis[i] == true) continue; dfs(i); sub[x] += sub[i]; } } int func(int root) { for(int i = 1; i <= n; i++) { vis[i] = false; } dfs(root); int ans = 0; for(int i = 1; i <= n; i++) { ans += sub[i]; if(vis[i] == false) return INT_MAX; } return ans; } int main() { scanf("%d", &n); for(int i = 1; i <= n; i++) { int deg; scanf("%d", °); for(int j = 1; j <= deg; j++) { int x; scanf("%d", &x); g[x].push_back(i); } } int ans = INT_MAX; for(int i = 1; i <= n; i++) { ans = min(ans, func(i)); } printf("%d\n", ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2176 KB | Output is correct |
2 | Incorrect | 0 ms | 2176 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2176 KB | Output is correct |
2 | Incorrect | 0 ms | 2176 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2176 KB | Output is correct |
2 | Incorrect | 0 ms | 2176 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |