Submission #1308794

#TimeUsernameProblemLanguageResultExecution timeMemory
1308794michud07Bosses (BOI16_bosses)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h> using namespace std; const int N = 5004; vector<int> accepting[N]; int depth[N]; queue<int> q; int check(int v, int n){ for(int i = 1 ; i <= n ; i++){ depth[i] = -1; } int ans = 0; depth[v] = 0; q.push(v); while(!q.empty()){ v = q.front(); q.pop(); for(auto u : accepting[v]){ if(depth[u] == -1){ depth[u] = depth[v] + 1; ans += depth[u]; q.push(u); } } } return n + ans; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, k, v; cin >> n; for(int i = 1 ; i <= n ; i++){ cin >> k; while(k--){ cin >> v; accepting[v].push_back(i); } } int ans = 1e9; for(int i = 1 ; i <= n ; i++){ ans = min(ans, check(i, n)); } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...