제출 #1249294

#제출 시각아이디문제언어결과실행 시간메모리
1249294ducksaysquackBosses (BOI16_bosses)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
signed main() {
	int n; cin >> n;
	vector<vector<int>> v(n); pair<int,int> p = {0,0};
	for(int i=0;i<n;i++) {
		int t; cin >> t; 
		for(int j=0;j<t;j++) {int y; cin >> y; v[y-1].push_back(i);}
	}
	for(int i=0;i<n;i++) p = max(p,{v[i].size(),i});
	queue<pair<int,int>> q; q.push({p.s,1});
	vector<bool> w(n); int ans = 0;
	while(!q.empty()) {
		pair<int,int> a = q.front(); q.pop();
		if(w[a.f]) continue;
		ans += a.s, w[a.f] = true;
		for(auto i:v[a.f]) if(!w[i]) q.push({i,a.s+1});
		//cout << a.f << ' ' << a.s << ' ' << '\n';
	}
	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...