Submission #69789

#TimeUsernameProblemLanguageResultExecution timeMemory
69789Bodo171Bosses (BOI16_bosses)C++14
0 / 100
3 ms564 KiB
#include <iostream> #include <fstream> #include <climits> using namespace std; const int nmax=5005; int ad[nmax][nmax]; int q[nmax],d[nmax],nr[nmax]; int n,m,i,j,a,b,p,u,start,x,nod,k; long long ans; long long bfs() { q[u=1]=start; d[start]=1; for(p=1;p<=u;p++) { x=q[p]; for(i=1;i<=nr[x];i++) { nod=ad[x][i]; if(!d[nod]) d[nod]=d[x]+1,q[++u]=nod; } } long long ret=0; bool busit=0; for(i=1;i<=n;i++) { ret+=1LL*d[i]; if(!d[i]) busit=1; d[i]=0; } if(busit) return LLONG_MAX; return ret; } int main() { // freopen("data.in","r",stdin); cin>>n; for(i=1;i<=n;i++) { cin>>k; for(j=1;j<=k;j++) { cin>>x; ad[x][++nr[x]]=j; } } ans=LLONG_MAX; for(start=1;start<=n;start++) ans=min(ans,bfs()); cout<<ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...