Cod sursa(job #3191104)

Utilizator vozian.anghelinaAnghelina Vozian vozian.anghelina Data 8 ianuarie 2024 19:59:22
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

int C[1000100];
int nr, r, n, c, A[100100], v[100100];
vector<int> V[100100];

int main(){
    ifstream cin("bfs.in");
    ofstream cout("bfs.out");
    cin >> nr >> r >> n;
    int x, y;

    for(int i=1; i<=r; i++){
        cin >> x >> y;
        V[x].push_back(y);
    }

    C[1] = n;
    c++;

    for(int l=1; l<=c; l++){
        int de = C[l];
        for(int i=0; i<V[de].size(); i++){
            int la = V[de][i];

            v[la] = 1;
             if(la != n){
                A[la] = A[de] + 1;
                c++;
                C[c] = la;
            }
        }
    }

    for(int i=1; i<=nr; i++){
        if(!v[i]){
            A[i] = -1;
        }
    }

    for(int i=1; i<=nr; i++){
        cout << A[i] << ' ';
    }

}