Cod sursa(job #2012909)

Utilizator ARobertAntohi Robert ARobert Data 19 august 2017 20:09:04
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

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

int n,m,s,i,j,x,y,dist,e;
vector<int> v[100001];
int viz[100001];
deque<int> stiva;

int main()
{
    fin>>n>>m>>s;
    for (i=1;i<=m;i++)
    {
        fin>>x>>y;
        v[x].push_back(y);
    }
    for (i=1;i<=n;i++)
        viz[i]=-1;
    viz[s]=0;
    stiva.push_back(s);
    while (!stiva.empty())
    {
        e=stiva.front();
        for (auto i: v[e])
            if (viz[i]==-1)
            {
                viz[i]=viz[e]+1;
                stiva.push_back(i);
            }
        stiva.pop_front();
    }
    for (i=1;i<=n;i++)
        fout<<viz[i]<<" ";
    return 0;
}