Cod sursa(job #1923034)

Utilizator Constantin.Dragancea Constantin Constantin. Data 10 martie 2017 20:22:04
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
using  namespace std;
#define pb push_back

vector <int> V[100010];
int n,m,x,y,s,w,A[100010];
queue <int> Q;

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ifstream cin ("bfs.in");
    ofstream cout ("bfs.out");
    cin>>n>>m>>s;
    for (int i=1; i<=m; i++){
        cin>>x>>y;
        V[x].pb(y);
    }
    Q.push(s); A[s]=1;
    while (!Q.empty()){
        x=Q.front();
        Q.pop();
        for (int i=0; i<V[x].size(); i++){
            if (!A[V[x][i]]){
                Q.push(V[x][i]);
                A[V[x][i]]=A[x]+1;
            }
        }
    }
    for (int i=1; i<=n; i++) cout<<A[i]-1<<" ";
    return 0;
}