#include <bits/stdc++.h>
#define int long long
using namespace std;
const int inf = 1e18;
const int mx = 5e3+5;
int n;
vector<int> g[mx];
int dis[mx];
signed main() {
cin >> n;
for (int i=1;i<=n;i++) {
int k;
cin >> k;
for (int j=1;j<=k;j++) {
int u;
cin >> u;
g[u].push_back(i);
}
}
int ans = inf;
for (int i=1;i<=n;i++) {
for (int j=1;j<=n;j++) dis[j] = inf;
dis[i] = 1;
queue<int> q;
q.push(i);
int cnt = 0;
int sum = 0;
while (q.size()) {
int u = q.front(); q.pop();
sum += dis[u];
cnt++;
for (int v:g[u]) {
if (dis[v] == inf) {
dis[v] = dis[u] + 1;
q.push(v);
}
}
}
if (cnt == n) ans = min(ans, sum);
}
cout << ans << "\n";
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |