Cod sursa(job #1958263)

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

ifstream fin("bfs.in");
ofstream fout("bfs.out");

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

void parc(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() {
    fin>>n>>m>>k;
    for (int i=1; i<=m; i++){
        int a,b;
        fin>>a>>b;
        t[a].push_back(b);}
    parc(k);
    for (i=1; i<=n; i++)
    fout<<c[i]-1<<" ";
}