#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;
int n;
vector<int>komsu[5023];
int vis[5023];
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
cin>>n;
for(int i=1;i<=n;i++){
int k;cin>>k;
for(int j=0;j<k;j++){
int x;cin>>x;
komsu[x].pb(i);
}
}
ll ans=n*n;
queue<int>q;
for(int i=1;i<=n;i++){
q.push(i);
ll res=0;
vis[i]=1;
while(q.size()){
int pos=q.front();
q.pop();
res+=vis[pos];
for(int x:komsu[pos]){
if(vis[x])continue;
vis[x]=vis[pos]+1;
q.push(x);
}
}
int cnt=0;
for(int j=1;j<=n;j++){
if(!vis[j]){
cnt++;
}
else vis[j]=0;
}
if(!cnt){
ans=min(ans,res);
}
}
cout<<ans<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |