답안 #975181

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
975181 2024-05-04T14:26:15 Z Error404 Bosses (BOI16_bosses) C++17
100 / 100
419 ms 756 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define f first
#define s second
#define pb push_back
#define pi pair<int,int>
#define pl pair<ll,int>

const int MAX = 5001;

int color[MAX];
ll dis[MAX];
vector<int>g[MAX];

int n;

ll bfs(int u){
    fill(dis+1,dis+1+n, LLONG_MAX);
        dis[u] =1;

    queue<int>q;
    q.push(u);
    while(!q.empty()){
        int from = q.front();
        q.pop();
       // if(color[from]) continue;
        //color[from]=1;
        for(int to: g[from]){
            if(dis[to]>dis[from]+1){
                dis[to]= dis[from]+1;
                q.push(to);
            }
        }
    }
    
    ll sum = 0;
    for(int i = 1; i <=n; i++) {
        sum+= dis[i];
        if(dis[i]==LLONG_MAX) return LLONG_MAX;
    }
  //  cout << endl << sum << "  "<< u << endl;
 //   cout << u << " "<< sum << endl;
    return sum;
}


int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    cin >> n;
    
    int temp, k;
    for(int i = 1; i <= n; i++){
        cin >> temp;
        while(temp--){
            cin >> k;
            g[k].pb(i);
        }
    }
 
    ll ans= LLONG_MAX;
    for(int i= 1; i <= n; i++){
        ans = min(bfs(i),ans);
    }
    cout << ans << endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 600 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 600 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 600 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 3 ms 604 KB Output is correct
13 Correct 2 ms 604 KB Output is correct
14 Correct 75 ms 604 KB Output is correct
15 Correct 10 ms 604 KB Output is correct
16 Correct 419 ms 736 KB Output is correct
17 Correct 419 ms 756 KB Output is correct
18 Correct 409 ms 756 KB Output is correct