제출 #77148

#제출 시각아이디문제언어결과실행 시간메모리
77148MercenaryBosses (BOI16_bosses)C++11
100 / 100
542 ms1432 KiB
#include<bits/stdc++.h> using namespace std; #define taskname "" #define pb push_back typedef long double ld; typedef long long ll; const int maxn = 5e3 + 5; int n , deq[maxn] , sz , chk[maxn]; int res = (ll)1e9; vector<int> v[maxn]; int sum = 0; void BFS(int u) { fill_n(chk , maxn , 0); deq[0] = u; sz = 1; chk[u] = 1; int edgecount = 0; sum = 1; int it = 0; while(sz > it) { int from = deq[it]; ++it; for(int c : v[from]) if(chk[c] == 0) { chk[c] = chk[from] + 1; sum += chk[c]; deq[sz++] = c; edgecount++; } } if(edgecount == n - 1){ res = min(res , sum); } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); //freopen(taskname".INP", "r",stdin); //freopen(taskname".OUT", "w",stdout); cin >> n; for(int i = 1 ; i <= n ; ++i) { int k;cin >> k; while(k--) { int x;cin >> x; v[x].pb(i); } } for(int i = 1 ; i <= n ; ++i)BFS(i); cout << res; } /* 4 1 4 3 1 3 4 2 1 2 1 3 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...