Cod sursa(job #1897634)

Utilizator PondorastiAlex Turcanu Pondorasti Data 1 martie 2017 16:43:10
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 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<<" ";
}