Submission #1213263

#TimeUsernameProblemLanguageResultExecution timeMemory
1213263minhpkBosses (BOI16_bosses)C++20
100 / 100
399 ms24152 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a;
vector<int> z[1000005];
int depth[1000005];
int min1=1e18;

void bfs(int sta){
    for (int i=1;i<=a;i++){
         depth[i]=0;
    }
    queue<int> q;
    q.push(sta);
    depth[sta]=1;

    while (q.size()){
         int pos=q.front();
         q.pop();
         for (auto p:z[pos]){
              if (!depth[p]){
                 depth[p]=depth[pos]+1;
                 q.push(p);
              }
         }
    }
    int sum=0;
    for (int i=1;i<=a;i++){
         if (!depth[i]){
            return;
         }
         sum+=depth[i];
    }
    min1=min(min1,sum);
}
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> a;
    for (int i=1;i<=a;i++){
         int c;
         cin >> c;
         for (int j=1;j<=c;j++){
             int x;
             cin >> x;
             z[x].push_back(i);
         }
    }
    for (int i=1;i<=a;i++){
         bfs(i);
    }
    cout << min1 << "\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...