Pagini recente » Cod sursa (job #32098) | Cod sursa (job #2458392) | Cod sursa (job #1295307) | Cod sursa (job #1838845) | Cod sursa (job #673336)
Cod sursa(job #673336)
program ssss;
type mi=record
x,y:integer;
end;
var f,g:text;
n,m,i,j,s,k1,k2,st,sf,x,y:longint;
a:array[0..10000,0..10000] of integer;
d,viz,v:array[0..10000]of integer;
rec:array[1..100000] of mi;
begin
assign(f,'bfs.in'); reset(f);
assign(g,'bfs.out'); rewrite(g);
readln(f,n,m,s);
for i:=1 to m do
begin
readln(f,rec[i].x,rec[i].y);
a[rec[i].x,rec[i].y]:=1;
end;
st:=0;
sf:=1;
viz[s]:=1;
v[1]:=s;
while st<sf do
begin
st:=st+1;
for i:=1 to n do
begin
if (a[v[st],i]=1) and (viz[i]=0) then
begin
viz[i]:=1;
sf:=sf+1;
v[sf]:=i;
d[i]:=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;
{ for i:=1 to n do
if pred[sf]=0 then
writeln(g,'DA')
else
writeln(g,'NU'); }
close(f);
close(g);
end.