Submission #641779

# Submission time Handle Problem Language Result Execution time Memory
641779 2022-09-17T15:33:03 Z Ronin13 Bosses (BOI16_bosses) C++14
0 / 100
1 ms 340 KB
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define f first
#define s second
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define epb emplace_back
using namespace std;
const int NMAX = 5001;
vector <vector <ll> >g(NMAX);
ll ans = 0;
int ansi;
ll mn = 1e9;
vector <bool> used(NMAX);
vector <ll> d(NMAX);
int n;
void bfs(int x){
    used[x] = true;
    d[x] = 1;
    queue <int> q;
    q.push(x);
    while(!q.empty()){
        int v = q.front();
        q.pop();
        for(int to : g[v]){
            if(used[to]) continue;
            q.push(to);
            used[to] = true;
            d[to] = d[v] + 1;
        }
    }
    for(int i  = 1; i <= n; i++){
        if(!used[i]){
            ans = 1e9;
            break;
        }
        else ans += d[i];
    }
}

int main(){
    cin >> n;
    for(int i = 1; i <= n; i++){
        int x; cin >> x;
        for(int j = 1; j <= x; j++) {
            int y; cin >> y;
            g[y].pb(i);
        }
    }
    for(int i = 1; i <= n; i++){
        bfs(i);
        if(ans < mn) mn = min(ans, mn);
        for(int j = 1; j <= n; j++){
            used[j] = false;
            d[j] = 0;
        }
    }
    cout << mn;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Incorrect 0 ms 340 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Incorrect 0 ms 340 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Incorrect 0 ms 340 KB Output isn't correct
3 Halted 0 ms 0 KB -