Pagini recente » Cod sursa (job #2019073) | Cod sursa (job #153079) | Cod sursa (job #2006609) | Cod sursa (job #131519) | Cod sursa (job #649931)
Cod sursa(job #649931)
#include<stdio.h>
#define MAX 10003
FILE*f=fopen("bfs.in","r");
FILE*g=fopen("bfs.out","w");
long long n,m,s,A[MAX][MAX],x,y,i,nc,C[MAX],p,u,nd,L[MAX];
int main (){
fscanf(f,"%d%d%d",&n,&m,&s);
for(i=1;i<=m;i++){
fscanf(f,"%d%d",&x,&y);
A[x][y]=1;
}
for(i=1;i<=n;i++)
L[i]=-1;
L[s]=0;
C[1]=s;
p=u=1;
while(p<=u){
nd=C[p];
for(i=1;i<=n;i++){
if(A[nd][i]==1 && L[i]==-1){
u++;
C[u]=i;
L[i]=L[nd]+1;
}
}
p++;
}
for(i=1;i<=n;i++)
fprintf(g,"%d ",L[i]);
return 0;
}