Pagini recente » Cod sursa (job #326760) | Cod sursa (job #2694351) | Cod sursa (job #136299) | Cod sursa (job #1191968) | Cod sursa (job #398644)
Cod sursa(job #398644)
#include <iostream.h>
#include <fstream.h>
#define DIM 100001
struct nod {
int inf;
nod *adr;
};
nod *P[DIM],*q;
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;
q = new nod;
q->inf = y;
q->adr = P[x];
P[x] = q;
// a[x][y] = 1;
}
c[1] = s;
v[s] = 1;
u = p = 1;
while (p<=u){
q = P[c[p]];
while (q!=NULL) {
if (v[q->inf]==0){
u++;
c[u] = q->inf;
v[q->inf] = 1;
D[q->inf] = D[c[p]]+1;
}
q = q->adr;
}
p++;
}
for(i=1;i<=n;i++)
if (v[i] == 0)
g<<-1<<" ";
else
g<<D[i]<<" ";
f.close();
g.close();
return 0;
}