Pagini recente » Cod sursa (job #2639118) | Istoria paginii runda/tema_vacanta_iarna | Cod sursa (job #2253907) | Cod sursa (job #3127206) | Cod sursa (job #412365)
Cod sursa(job #412365)
var a:array[1..1000,1..1000] of 0..1;
viz,st:array[1..1000] of integer;
f:text;
i,j,k,y,n,m,x,v:integer;
procedure citire;
begin
assign(f,'dfs.in');reset(f);
read(f,n,m);
for i:=1 to m do
begin
read(f,x,y);
a[x,y]:=1;
end;
close(f);
end;
procedure afisare;
var nr:integer;
begin
assign(f,'dfs.out');rewrite(f);
nr:=0;
for i:=1 to n do nr:=nr+viz[i];
writeln(f,nr);
close(f);
end;
procedure dfs;
begin
for i:=1 to n do viz[i]:=0;
st[1]:=1; viz[1]:=1; k:=1;
while k>0 do
begin
v:=st[k]; y:=0;
for i:=1 to n do
if (a[v,i]=1) and (viz[i]=0) then
begin
y:=i;
break;
end;
if y=0 then dec(k)
else
begin
viz[y]:=1;
inc(k);
st[k]:=y;
end;
end;
end;
begin
citire;
dfs;
afisare;
end.