Pagini recente » Cod sursa (job #1388727) | Cod sursa (job #1403077) | Cod sursa (job #2053518) | Cod sursa (job #1933217) | Cod sursa (job #902272)
Cod sursa(job #902272)
program asfsdf;
var f,g:text;
n,i,m,s,x,y,st,sf:longint;
a:array of array of longint;
viz,v,d:array of longint;
begin
assign(f,'bfs.in'); reset(f);
assign(g,'bfs.out'); rewrite(g);
readln(f,n,m,s);
setlength(a,n+1,1);
setlength(viz,n+1);
setlength(v,n+1);
setlength(d,n+1);
for i:=1 to m do
begin
readln(f,x,y);
setlength(a[x],length(a[x])+1);;
a[x,0]:=a[x,0]+1;
a[x,a[x,0]]:=y;
end;
viz[s]:=1;
st:=0;
sf:=1;
v[1]:=s;
while st<sf do
begin
st:=st+1;
for i:=1 to a[v[st],0] do
begin
if viz[a[v[st],i]]=0 then
begin
viz[a[v[st],i]]:=1;
sf:=sf+1;
v[sf]:=a[v[st],i];
d[v[sf]]:=d[v[st]]+1;
end;
end;
end;
for i:=1 to n do
begin
if (i<>s) and (d[i]=0) then
d[i]:=-1;
write(g,d[i],' ');
end;
close(f);
close(g);
end.