Cod sursa(job #1089653)

Utilizator cricriFMI - Radu Vlad cricri Data 21 ianuarie 2014 20:35:53
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
using namespace std;

#include<fstream>
#include<iostream>
#include<vector>
#include <queue>

int n, m, s;
vector<int> nodeList[100001];
int visited[100001];

queue<int> q;

ifstream f("bfs.in");
ofstream g("bfs.out");

int main()
{
	f>>n>>m>>s;

	int x,y;

	for(int i=1;i<=m;i++)
	{
		f>>x>>y;
		nodeList[x].push_back(y);
	}


	q.push(s);
	visited[s]=1;

	while(!q.empty())
	{
		
		for(int i=0;i<nodeList[q.front()].size();i++)
		{
			if(!visited[nodeList[q.front()][i]])
			{
				visited[nodeList[q.front()][i]] = visited[q.front()] + 1;
				q.push(nodeList[q.front()][i]);
			}
		}
		q.pop();

	}
	for(int i=1;i<=n;i++)
		g<<visited[i]-1<<' ';

	//system("pause");
	return 0;
}