Pagini recente » Cod sursa (job #1834678) | Cod sursa (job #1128969) | Cod sursa (job #2964672) | Cod sursa (job #2174144) | Cod sursa (job #283951)
Cod sursa(job #283951)
#include <stdio.h>
#include <string.h>
#define Nmax 1001
int a[Nmax][Nmax],d[Nmax],i,j,s,n,m,c[Nmax],p,x,y;
int main()
{
freopen("bfs.in","r",stdin);
freopen("bfs.out","w",stdout);
scanf("%d %d %d",&n,&m,&s);
while(m--)
{
scanf("%d %d", &x, &y);
a[x][y]=1;
}
memset(c,-1,sizeof(c));
p=1;
d[1]=s;
c[s]=0;
for (i=1;i<=p;++i)
for (j=1;j<=n;++j)
if (c[j]==-1 && a[d[i]][j]==1)
{
p++;
d[p]=j;
c[j]=c[d[i]]+1;
}
for (i=1;i<=n;++i)
printf("%d ", c[i]);
return 0;
}