Submission #1189807

#TimeUsernameProblemLanguageResultExecution timeMemory
1189807PieArmyBosses (BOI16_bosses)C++20
100 / 100
370 ms740 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...