Pagini recente » Cod sursa (job #1563827) | Cod sursa (job #1471654) | Cod sursa (job #338167) | Cod sursa (job #1749801) | Cod sursa (job #246904)
Cod sursa(job #246904)
var f,g:text;
viz,c:array[1..1000000] of longint;
a:array[1..100000,1..10000] of 0..1;
j,l,u,m,s,n,i,p,uc,x,y,pc:longint;
begin
assign(f,'bfs.in');
reset(f);
readln(f,n,m,s);
for i:=1 to m do
begin
readln(f,x,y);
a[x,y]:=1;
end;
pc:=1;
uc:=1;
c[pc]:=s;
y:=1;
while pc<=uc do
begin
l:=pc;
u:=uc;
for j:=l to u do
begin
x:=c[j];
for i:=1 to n do
if (a[x,i]=1) and (viz[i]=0) then
begin
uc:=uc+1;
c[uc]:=i;
viz[i]:=y;
end;
end;
y:=y+1;
pc:=u+1;
end;
assign(g,'bfs.out');
rewrite(g);
for i:=1 to n do
if i<>s then
begin
if viz[i]<>0 then
write(g,viz[i],' ')
else write(g,'-1 ');
end
else if viz[i]<>0 then write(g,'0 ')
else write(g,'-1' );
close(g);
end.
assign(g,'bfs.out');
rewrite(g);