Pagini recente » Cod sursa (job #2615154) | Cod sursa (job #2251774) | Cod sursa (job #1810567) | Cod sursa (job #681429) | Cod sursa (job #398642)
Cod sursa(job #398642)
#include <iostream.h>
#include <fstream.h>
#define DIM 1001
int c[DIM];
char v[DIM];
int D[DIM];
char a[DIM][DIM];
int n,m,i,u,p,x,s,y;
ifstream f("bfs.in");
ofstream g("bfs.out");
int main(){
f>>n>>m>>s;
for (i=1;i<=m;i++) {
f>>x>>y;
a[x][y] = 1;
}
c[1] = s;
v[s] = 1;
u = p = 1;
while (p<=u){
for (i=1;i<=n;i++)
if (a[c[p]][i] == 1 && v[i]==0) {
u++;
c[u] = i;
v[i] = 1;
D[i] = D[c[p]]+1;
}
p++;
}
for(i=1;i<=n;i++)
if (v[i] == 0)
g<<-1<<" ";
else
g<<D[i]<<" ";
f.close();
g.close();
return 0;
}