Submission #753466

#TimeUsernameProblemLanguageResultExecution timeMemory
753466MetalPowerBosses (BOI16_bosses)C++14
100 / 100
634 ms720 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int MX = 5e3 + 10; const ll INF = 1e18; int N, vis[MX], dep[MX]; vector<int> adj[MX]; ll bfs(int u){ memset(vis, 0, sizeof vis); memset(dep, 0, sizeof dep); ll ans = 0, cnt = 0; queue<int> q; q.push(u); dep[u] = 1; vis[u] = 1; while(!q.empty()){ int cr = q.front(); ans += dep[cr]; cnt++; q.pop(); for(int nxt : adj[cr]){ if(vis[nxt] == 1) continue; vis[nxt] = 1; dep[nxt] = dep[cr] + 1; q.push(nxt); } } if(cnt == N) return ans; else return INF; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> N; for(int i = 1; i <= N; i++){ int k; cin >> k; for(int j = 1; j <= k; j++){ int x; cin >> x; adj[x].push_back(i); } } ll ans = INF; for(int i = 1; i <= N; i++) ans = min(ans, bfs(i)); cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...