Cod sursa(job #1217029)

Utilizator pavlov.ionPavlov Ion pavlov.ion Data 6 august 2014 14:56:20
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
#include<queue>
#include<vector>
#include<algorithm>
#define MAXN 100005
#define pb push_back 
using namespace std;
ifstream cin("bfs.in");
ofstream cout("bfs.out");
int N,M,Cost[MAXN],S;
vector<int> G[MAXN];
queue<int> q;
int main() {
	int i,x,y;
    cin>>N>>M>>S;
    memset(Cost,-1,sizeof(Cost));
	for(i=1;i<=M;i++)
	           cin>>x>>y ,G[x].pb(y);
	q.push(S);
	Cost[S]=0;
	while(q.size()) {
			x=q.front();
			q.pop();
			for(i=0; i<G[x].size(); i++)
			      if(Cost[G[x][i]]==-1) {
				  			q.push(G[x][i]);
							Cost[G[x][i]]=Cost[x]+1; }
   }
   for(i=1;i<=N;i++)
        cout<<Cost[i]<<" ";
	return 0;
}