Cod sursa(job #2225113)

Utilizator racheriunicolaechowchow racheriunicolae Data 25 iulie 2018 22:22:07
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
#define NMAX 100005
using namespace std;
vector <int> a[NMAX];
queue <int> Q;
int n, m ,s ,f[NMAX], i ,x , y , pas ;
int main()
{
    ifstream fin("bfs.in");
    ofstream fout("bfs.out");

    fin >> n >> m >> s;
    for( i=1 ;i<=m; i++)
    {
        fin >> x >> y;
       a[x].push_back(y);
    }

    Q.push(s);
    pas = 0;
    f[s] = 1;
    while(!Q.empty())
    {
        x = Q.front();
        pas = f[x] + 1;
        for(i=0;i<a[x].size(); i++)
        {
            if(f[a[x][i]] == 0)f[a[x][i]] = pas , Q.push(a[x][i]);
        }
        Q.pop();
    }
    for(i=1;i<=n;i++)
       fout<<f[i] - 1 << " ";
    return 0;
}