Pagini recente » Cod sursa (job #901416) | Cod sursa (job #597321) | Cod sursa (job #202850) | Cod sursa (job #1772892) | Cod sursa (job #399039)
Cod sursa(job #399039)
#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];
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;
}
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;
}