Cod sursa(job #710910)

Utilizator NicuCJNicu B. NicuCJ Data 10 martie 2012 23:48:55
Problema BFS - Parcurgere in latime Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int vizitat[100];
int matrice[100][100];
int main()
{
	int n, m, s, p=1, u=1, nod, vecin, i, luat;
	f>>n>>m>>s;
	for(i=1; i<=m; i++)
	{
		f>>nod>>vecin;
		if(nod!=vecin)
		{
			
		matrice[nod][vecin]=1;
		}
	}
	queue<int> coada;
	coada.push(s);
	vizitat[s]=1;
	while(!coada.empty())
	{
		luat=coada.front();
		
		for(i=1; i<=n; i++)
		{
			if(matrice[luat][i]==1 && !vizitat[i])
			{
				vizitat[i]=vizitat[luat]+1;
				coada.push(i);
			}
		}
		coada.pop();
	}
	for(i=1; i<=n; i++)
	{
		g<<vizitat[i]-1<<" ";
	}
}