Cod sursa(job #3292749)

Utilizator IleaIlea Bogdan Ilea Data 9 aprilie 2025 10:21:37
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

#define NMAX 100001

int n, m, s;
vector<int> rg[NMAX];
int d[NMAX];
int main(){
    freopen("bfs.in", "r", stdin);
    freopen("bfs.out", "w", stdout);
    cin>>n>>m>>s;
    for (int i=1; i<=m; ++i){
        int x, y;
        cin>>x>>y;
        rg[x].push_back(y);
    }
    queue<int> q;
    q.push(s);
    d[s]=1;
    while (!q.empty()){
        int i=q.front();
        q.pop();
        for (auto it:rg[i]){
            if (!d[it]){
                d[it]=1+d[i];
                q.push(it);
            }
        }
    }
    for (int i=1; i<=n; ++i)cout<<d[i]-1<<" ";
    return 0;
}