답안 #985399

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
985399 2024-05-17T18:16:47 Z Octa_pe_info Bosses (BOI16_bosses) C++14
0 / 100
1 ms 344 KB
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
vector<vector<int>>tabel;
vector<bool>viz;
vector<int>pasi;

int cnt=0,stot=0;

void bfs(int nod){

    queue<int>q;
    viz[nod]=1;
    q.push(nod);
    pasi[nod]=1;
    stot=1;
    while(!q.empty()){

        int curent=q.front();
        q.pop();
        for(auto i : tabel[curent])
            if(!viz[i]){

                viz[i]=1;///
                pasi[i]=pasi[curent]+1;
                stot+=pasi[i];
                q.push(i);///
                cnt++;///

            }

    }

}

int dfs(int nod){

   int sal=1;
   for(auto i : tabel[nod])
        if(pasi[i]-1==pasi[nod])
            sal+=dfs(i);
   stot+=sal;
   return sal;

}

int main()
{

    int n;
    cin>>n;

    tabel.resize(n+1);

    for(int i=1;i<=n;i++){

        int k;
        cin>>k;
        for(int j=1;j<=k;j++){
            int x;
            cin>>x;
            tabel[x].push_back(i);
        }

    }
    int salmin=1e9;
    for(int i=1;i<=n;i++){
        viz.resize(n+1,0);
        pasi.resize(n+1,0);
        cnt=0;
        stot=0;
        bfs(i);

        if(cnt==n-1){
            salmin=min(salmin,stot);
        }

    }
    cout<<salmin;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 0 ms 344 KB Output isn't correct
3 Halted 0 ms 0 KB -