# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
68914 | Vahan | Bosses (BOI16_bosses) | C++17 | 3 ms | 868 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
#include<cstdio>
using namespace std;
vector<int> g[20000];
int n,pp,u[100000],pat=-1,t;
int dfs(int v,int p,int h)
{
int x=1;
for(int i=0;i<g[v].size();i++)
{
int to=g[v][i];
if(u[to]==0)
{
u[to]=h;
t++;
}
}
for(int i=0;i<g[v].size();i++)
{
int to=g[v][i];
if(u[to]==h)
x+=dfs(to,v,h+1);
}
pp+=x;
return x;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
int a;
scanf("%d",&a);
for(int j=1;j<=a;j++)
{
int b;
scanf("%d",&b);
if(i!=b)
g[b].push_back(i);
}
}
for(int i=1;i<=n;i++)
{
pp=0;
u[i]=1;
t=1;
dfs(i,-1,2);
if(t==n && (pp<pat || pat==-1))
pat=pp;
for(int j=1;j<=n;j++)
u[j]=0;
}
cout<<pat<<endl;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |