Cod sursa(job #3297014)

Utilizator LucaMirsolea14Luca Mirsolea LucaMirsolea14 Data 20 mai 2025 10:54:33
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");

int n,m,vizit[100002], dist[100002];
vector<int> g[100002];


void BFS(int nod){
queue<int> coada;
int varf;

vizit[nod]=1;
coada.push(nod);
dist[nod]=0;

while(!coada.empty()){
    varf=coada.front();
    coada.pop();

    for(auto e : g[varf]){
        if(vizit[e] == 0){
            vizit[e]=1;
            dist[e] = dist[varf]+1;
            coada.push(e);
        }
    }
}


}

int main(){

    int i,x,y,s;

    fin>>n>>m>>s;

    for(i=1;i<=n;i++)
        dist[i]=-1;

    for(i=1;i<=m;i++){
        fin>>x>>y;
        g[x].push_back(y);
    }

    BFS(s);

    for(i=1;i<=n;i++)
        fout<<dist[i]<< " " ;

}