Pagini recente » Cod sursa (job #1644039) | Cod sursa (job #471370) | Cod sursa (job #2801555) | Cod sursa (job #30224) | Cod sursa (job #352472)
Cod sursa(job #352472)
#include<stdio.h>
int i, n, m, s, p, u, x, y;
int a[1000][1000], c[100000], v[100000];
FILE * f = fopen("bfs.in", "r");
FILE * g = fopen("bfs.out", "w");
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;
}
p = 1;
u = 2;
c[p] = s;
v[s] = 1;
while (p < u){
for (i = 1 ; i <= n ; i + +)
if (a[ c[p] ][ i ] == 1 && v[i] == 0) {
v[i] = v[ c[p] ] + 1;
u + +;
}
p + +;
}
for (i = 1 ; i <= n ; i + +)
if (v[i] == 0) fprintf (g, "-1 ");
else fpritnf (g, "%d ", v[i] - 1);
fclose(f);
fclose(g);
return 0
}