Cod sursa(job #1138844)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 10 martie 2014 17:37:27
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream f("bfs.in");
ofstream g("bfs.out");

std::vector <int> l[100010];
int n,m,s,d[100010],c[100010],v[100001],a,b,p,u,i;
int main()
{
    f>>n>>m>>s;
    for(i=1;i<=m;i++){
        f>>a>>b;
        l[a].push_back(b);
    }
    p=u=1;
    c[1]=s;
    d[s]=1;
    v[s]=1;
    while(p<=u){
        a=c[p];
        for(i=0;i<l[c[p]].size();i++)
            if(v[l[a][i]]==0){
                c[++u]=l[a][i];
                d[l[a][i]]=d[c[p]]+1;
                v[l[a][i]]=1;

            }
        p++;
    }
    for(i=1;i<=n;i++)
        g<<d[i]-1<<" ";
    return 0;
}