Pagini recente » Cod sursa (job #2040784) | Cod sursa (job #2269759) | Cod sursa (job #2131714) | Cod sursa (job #1796285) | Cod sursa (job #269871)
Cod sursa(job #269871)
var f,g:text;
n,s,m,a,b,i,pc,uc,x,l:longint;
d: array [1..10000,1..10000] of longint;
c,v: array [1..100000] of longint;
begin
assign(f,'bfs.in');
reset(f);
assign(g,'bfs.out');
rewrite(g);
read(f,n,m,s);
for i:=1 to m do begin
read(f,a,b);
d[a,b]:=1;
end;
uc:=1;
pc:=1;
c[uc]:=s;
v[s]:=0;
while pc<=uc do begin
x:=c[pc];
l:=v[x];
for i:=1 to n do if (d[x,i]=1) and (v[i]=0) then begin
v[i]:=l+1;
uc:=uc+1;
c[uc]:=i;
end;
pc:=pc+1;
end;
for i:=1 to n do if (v[i]=0) and (s<>i) then write(g,'-1 ')
else if s=i then write(g,'0 ')
else write(g,v[i],' ');
close(f);
close(g);
end.