Cod sursa(job #1217077)

Utilizator andreimdvMoldovan Andrei andreimdv Data 6 august 2014 16:05:50
Problema BFS - Parcurgere in latime Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
#include<vector>
using namespace std;

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

int ls,ld,n,m,start,aux,i,a,b;
vector <int> v[100000];
int cost[100010],coada[100010];

int main()
{
    fin>>n>>m>>start;
    for(i=1;i<=m;++i)
    {
        fin>>a>>b;
        v[a].push_back(b);
    }
    cost[start]=1;
    coada[ls=ld=1]=start;
    while(ls<=ld)
    {
        aux=coada[ls++];
        for(i=0;i<v[aux].size();++i)
        {
            if(cost[v[aux][i]]==0)
                {
                    cost[v[aux][i]]=cost[aux]+1;
                    coada[++ld]=v[aux][i];
                }
        }
    }
    for(i=1;i<=n;++i)
    fout<<cost[i]-1<<" ";





return 0;
}