Cod sursa(job #1895822)

Utilizator Vlad_CernoutanVlad Cernoutan Vlad_Cernoutan Data 28 februarie 2017 11:14:28
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

ifsream cin("bfs.in");
ofstream cout("bfs.out");

int n,m,i,k,c[103000];
vector <int> t[103000];
queue <int> coada;

void parcurgere(int k){
    coada.push(k);
    c[k]=1;
    while (!coada.empty()){
        int q=coada.front();
        coada.pop();
        for (int i=0; i<t[q].size(); i++)
            if (c[t[q][i]]==0) {
                c[t[q][i]]=c[q]+1;
                coada.push(t[q][i]);
            }
    }
}

int main() {
    cin>>n>>m>>k;
    for (int i=1; i<=m; i++){
        int a,b;
        cin>>a>>b;
        t[a].push_back(b);}
    parc(k);
    for (i=1; i<=n; i++)
    cout<<c[i]-1<<" ";
}