Submission #962586

# Submission time Handle Problem Language Result Execution time Memory
962586 2024-04-13T22:03:14 Z shezitt Bosses (BOI16_bosses) C++14
0 / 100
0 ms 348 KB
#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
#include <cstring>
#include <queue>

using namespace std;

using ll = long long;

#define int ll
#define fore(i, a, b) for(int i=a; i<b; ++i)
#define endl '\n'
#define all(x) x.begin(), x.end()
#define sz(x) (int)x.size()
#define pb push_back
#define ii pair<int,int>
#define vi vector<int>

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

    int n;
    cin >> n;

    vector<vi> k(n);

    vector<vi> adj(n);

    fore(i, 0, n){
        int tam;
        cin >> tam;
        k[i].resize(tam);
        fore(j, 0, tam){
            cin >> k[i][j]; 
            k[i][j]--;
            adj[k[i][j]].pb(i);
        }
    }

    int ans = 1e9;

    vi depth(n);

    fore(root, 0, n){

        auto bfs = [&](int i) -> int {
            depth.assign(n, -1);
            int res = 0;
            queue<int> q;
            q.push(i);
            depth[i] = 1;
            while(sz(q)){
                int cur = q.front(); q.pop();
                res += depth[cur];
                for(int v : adj[cur]){
                    if(depth[v] == -1){
                        depth[v] = depth[cur] + 1;
                        q.push(v);
                    }
                }
            }
            return res;
        };

        bool ok = 1;
        fore(i, 0, n){
            ok &= depth[i] > -1;
        }

        if(ok){
            ans = min(ans, bfs(root));
        }

    }

    cout << ans << endl;

}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -