Submission #1164914

#TimeUsernameProblemLanguageResultExecution timeMemory
1164914fryingducBosses (BOI16_bosses)C++20
100 / 100
398 ms740 KiB
#include "bits/stdc++.h"

using namespace std;

#ifdef duc_debug
#include "bits/debug.h"
#else
#define debug(...)
#endif

const int maxn = 5005;
int n;
vector<int> g[maxn];

void solve() {
  cin >> n;
  for (int i = 1; i <= n; ++i) {
    int sz; cin >> sz;
    for (int j = 1; j <= sz; ++j) {
      int k; cin >> k;
      g[k].push_back(i);
    }
  }
  int res = 1e9;
  for (int r = 1; r <= n; ++r) {
    vector<int> d(n + 1, -1);
    d[r] = 0;
    queue<int> q;
    q.push(r);
    while (!q.empty()) {
      int u = q.front();
      q.pop();
      for (auto v:g[u]) {
        if (d[v] == -1) {
          d[v] = d[u] + 1;
          q.push(v);
        }
      }
    }
    int sum = 0;
    for (int i = 1; i <= n; ++i) {
      if (d[i] == -1) {
        sum = 1e9;
        break;
      }
      sum += d[i] + 1;
    }
    res = min(res, sum);
  } 
  cout << res;
}

signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);

  solve();

  return 0;
}


#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...