Cod sursa(job #572315)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 5 aprilie 2011 10:56:36
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#include<vector>
#include<string.h>
using namespace std;
vector<int> v[100001];
int n,m,v2[100001],d[100001],s,j,l,i;
void graf(int s)
{j=1;
l=1;
d[j]=s;
v2[s]=0;
while(j<=l)
  {for(i=0;i<v[d[j]].size();i++)
	 {if(v2[v[d[j]][i]]==-1)
	   {d[++l]=v[d[j]][i];
       v2[v[d[j]][i]]=v2[d[j]]+1;}}
  j++;}}
int main()
{int i,x,y;
ifstream q("bfs.in");
ofstream w("bfs.out");
q>>n>>m>>s;
for(i=1;i<=m;i++)
  {q>>x>>y;
  v[x].push_back(y);}
memset(v2,-1,sizeof(v2));
graf(s);
for(i=1;i<=n;i++)
  w<<v2[i]<<" ";
return 0;}