Cod sursa(job #1225900)

Utilizator ducu34Albastroiu Radu Gabriel ducu34 Data 3 septembrie 2014 22:46:10
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
#include <vector>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int c2[100000],c[100001],viz[100001],zi,u,p,i,x,y,k,n,X,m;
vector <int> v[100001];
int main()
{
	fin>>n>>m>>X;
	for(i=1;i<=m;i++)
	{
		fin>>x>>y;
        v[x].push_back(y);
	}
	p=u=1;
    c[u]=X;
    viz[X]=1;
	while(u<=p)
	{
		for(i=0;i<v[c[u]].size();i++)
        {
            if(!viz[v[c[u]][i]])
            {
                viz[v[c[u]][i]]=viz[c[u]]+1;
                p++;
                c[p]=v[c[u]][i];
            }
        }
        u++;
	}
	for(i=1;i<=n;i++)
	{
		if(!viz[i])
			fout<<"-1 ";
		else
			fout<<viz[i]-1<<" ";
	}
	return 0;
}