Submission #991218

#TimeUsernameProblemLanguageResultExecution timeMemory
991218rsinventorBosses (BOI16_bosses)C++17
0 / 100
0 ms352 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector <ll> vll; typedef vector<bool> vb; typedef vector <string> vs; typedef vector<char> vc; typedef pair<int, int> pii; typedef vector <pii> vpii; #define all(a) (a).begin(), (a).end() #define pb push_back #define endl "\n" int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll n; cin >> n; vector<ll> adj[n]; for(ll i = 0; i < n; i++) { ll tmp; cin >> tmp; for(ll j = 0; j < tmp; j++) { ll a; cin >> a; adj[--a].pb(i); } } ll ans = 1e10; for(ll r = 0; r < n; r++) { vector<ll> lvl(n); vector<ll> visited(n); lvl[r] = 0; queue<ll> q; q.push(r); while (!q.empty()) { ll i = q.front(); q.pop(); visited[i] = true; for (ll a: adj[i]) { if (!visited[a]) { q.push(a); lvl[a] = lvl[i] + 1; } } } bool flag = false; for(ll v: visited) { if(!visited[v]) { flag = true; break; } } if(flag) { continue; } ll sum = 0; for(ll l: lvl) { sum += l+1; } ans = min(ans, sum); } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...