Pagini recente » Cod sursa (job #2489430) | Cod sursa (job #2222262) | Cod sursa (job #1709447) | Cod sursa (job #2502443) | Cod sursa (job #2220755)
#include<iostream>
#include <fstream>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
long a[10001][10001]={0},n,prim=1,ultim=1,c[10001],i,x,y,v[10001]={0},varf,m,s[10001],u;
void bfs(){
long k;
while(prim<=ultim)
{varf=c[prim];
for(k=1;k<=n;k++)
if(a[varf][k]&&!v[k]) {ultim++;c[ultim]=k;v[k]=1;s[k]=s[varf]+1;}
prim++;}}
int main(){
f>>n>>m>>u;
for(i=1;i<=m;i++) {f>>x>>y;a[x][y]=1;}
for(i=1;i<=n;i++) s[i]=-1;
c[prim]=u;v[u]=1;s[u]=0;
bfs();
for(i=1;i<=n;i++) g<<s[i]<<" ";
return 0;}