Cod sursa(job #1948143)

Utilizator cris90robert@yahoo.comseretan cristian [email protected] Data 31 martie 2017 19:12:46
Problema BFS - Parcurgere in latime Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
	long long  m,n,i,j,viz[100]={},v[100]={},p,u,coada[100],a[10][10]={};
	int s,k,q;
	fstream f("bfs.in",ios::in);
	f>>n>>m>>s;
	for(i=1;i<=m;i++)
	{
		f>>p>>q;
		a[p][q]=1;
	}
	f.close();
	u=1;
	coada[u]=s;
	p=1;
	viz[s]=1;
	while(p<=u)
	{
		k=coada[p];
		for(j=1;j<=n;j++)
		{
			if((viz[j]==0)&&(a[k][j]==1))
			{
				v[j]=v[k]+1;
				viz[j]=1;
				u++;
				coada[u]=j;
			}
		}
		p++;
	}
	fstream g("bfs.out",ios::out);
	for(i=1;i<=n;i++)
	{
		if(v[i]==0)
		{
			if(i==s)
			{
				g<<"0 ";
			}
			else
			{
				g<<"-1 ";
			}
		}
		else
		{
			g<<v[i]<<" ";
		}
	}
	g.close();
}