#include <bits/stdc++.h>
using namespace std;
const int N = 5004;
vector<int> accepting[N];
int depth[N];
queue<int> q;
int check(int v, int n){
for(int i = 1 ; i <= n ; i++){
depth[i] = -1;
}
int ans = 1, cleared = 1;
depth[v] = 0;
q.push(v);
while(!q.empty()){
v = q.front();
q.pop();
for(auto u : accepting[v]){
if(depth[u] == -1){
cleared++;
depth[u] = depth[v] + 1;
ans += depth[u] + 1;
q.push(u);
}
}
}
return cleared == n ? ans : 1e9;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, k, v;
cin >> n;
for(int i = 1 ; i <= n ; i++){
cin >> k;
while(k--){
cin >> v;
accepting[v].push_back(i);
}
}
int ans = 1e9;
for(int i = 1 ; i <= n ; i++){
ans = min(ans, check(i, n));
}
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... |