Cod sursa(job #1691680)

Utilizator AlexandruRudiAlexandru Rudi AlexandruRudi Data 19 aprilie 2016 09:33:26
Problema BFS - Parcurgere in latime Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>

using namespace std;

int n,m,s,c[100005],x,y;
vector <int> a[100005];

void bfs(int nod, int k){
    c[nod]=k;
    for(int i=0;i<a[nod].size();i++){
        if(c[a[nod][i]]==-1 || k+1<c[a[nod][i]]) bfs(a[nod][i],k+1);
    }
}

int main()
{
    ifstream in("bfs.in");
    ofstream out("bfs.out");
    in >> n >> m >> s;
    for(int i=1;i<=m;i++){
        in >> x >> y;
        a[x].push_back(y);
    }
    fill(c+1,c+n+1,-1);
    bfs(s,0);
    for(int i=1;i<=n;i++) out << c[i] << ' ';
}