Cod sursa(job #1225894)

Utilizator ducu34Albastroiu Radu Gabriel ducu34 Data 3 septembrie 2014 22:40:55
Problema BFS - Parcurgere in latime Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,s,viz[10000],a[1000][1000],x,y,p,q,c[10000],i;
int main()
{
	fin>>n>>m>>s;
	for(i=1;i<=m;i++)
	{
		fin>>x>>y;
		a[x][y]=1;
	}
	p=q=1;
	c[p]=s;
	viz[s]=1;
	while(p<=q)
	{
		for(i=1;i<=n;i++)
		{
			if(a[c[p]][i] && !viz[i])
			{
				q++;
				c[q]=i;
				viz[c[q]]=viz[c[p]]+1;
			}
		}
		p++;
	}
	for(i=1;i<=n;i++)
	{
		if(!viz[i])
			fout<<"-1 ";
		else
			fout<<viz[i]-1<<" ";
	}
	return 0;
}