제출 #1176486

#제출 시각아이디문제언어결과실행 시간메모리
1176486JungPSBosses (BOI16_bosses)C++17
100 / 100
370 ms756 KiB
#include<iostream> #include<vector> #include<utility> #include<queue> #include<cstring> using namespace std; #define int long long vector<int> vec[5007]; bool visited[5007]; int cnt,cost; int n; void bfs(int x){ queue<pair<int,int>> q; q.push({x,1}); visited[x]=true; while(!q.empty()){ pair<int,int> p=q.front(); q.pop(); ++cnt; cost+=p.second; for(auto i:vec[p.first]){ if(visited[i]) continue; visited[i]=1; q.push({i,p.second+1}); } } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin >> n; for(int i=1;i<=n;++i){ int tmp; cin >> tmp; while(tmp--){ int tmp2; cin >> tmp2; vec[tmp2].push_back(i); } } int ans=1e18; for(int i=1;i<=n;++i){ memset(visited,0,sizeof(visited)); cnt=0,cost=0; bfs(i); if(cnt==n) ans=min(cost,ans); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...