Submission #78542

#TimeUsernameProblemLanguageResultExecution timeMemory
78542vexBosses (BOI16_bosses)C++14
100 / 100
674 ms1020 KiB
#include <bits/stdc++.h> #define maxn 5005 #define INF int(1e9+233) using namespace std; int n; vector<int>d[maxn]; bool bio[maxn]; int dub[maxn]; queue<int>mq; int bfs(int v) { mq.push(v); for(int i=1;i<=n;i++) { dub[i]=-1; bio[i]=false; } bio[v]=true; dub[v]=1; int tre=1; int br=1; while(!mq.empty()) { int u=mq.front(); mq.pop(); for(auto x:d[u]) { if(bio[x])continue; mq.push(x); bio[x]=true; br++; dub[x]=dub[u]+1; tre+=dub[x]; } } if(br<n)return INF; return tre; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin>>n; for(int i=1;i<=n;i++) { int x; cin>>x; for(int j=0;j<x;j++) { int w; cin>>w; d[w].push_back(i); } } int sol=INF; for(int i=1;i<=n;i++)sol=min(sol,bfs(i)); cout<<sol<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...