Pagini recente » Cod sursa (job #2908422) | Cod sursa (job #2622240) | Cod sursa (job #1494256) | Cod sursa (job #265668) | Cod sursa (job #2202121)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("bfs.in") ;
ofstream g("bfs.out") ;
int a[10001][10001],coada[100001],v[100001],viz[100001] ;
int main()
{
int n,x,y,i,m,nodp,nodc,prim,ultim,k ;
f>>n>>m>>k ;
for(i=1;i<=m;i++)
{
f>>x>>y ;
a[x][y]=1 ;
}
prim=1 ;
coada[prim]=k ;
ultim=1 ;
while(prim<=ultim)
{
nodc=coada[prim] ;
viz[nodc]=1 ;
for(i=1;i<=n;i++) if(viz[i]==0&&a[nodc][i]==1)
{
ultim++ ;
coada[ultim]=i ;
viz[i]=1 ;
v[i]=v[prim]+1 ;
}
prim++ ;
}
for(i=1;i<=n;i++)
if(viz[i]==1) g<<v[i]<<" " ;
else g<<-1<<" " ;
return 0 ;
}