Cod sursa(job #247677)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 23 ianuarie 2009 18:21:44
Problema Parcurgere DFS - componente conexe Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.86 kb
type lista=^elem;
   elem=record
          v:longint;
          adu:lista;
          end;
var f,g:text;
l:array[1..100000] of lista;
viz,c:array[1..100000] of longint;
m,ordin,s,n,i,x,y,k:longint;
q:lista;
procedure dfs(k:longint);
var p:lista;
begin
viz[k]:=1;
p:=l[k];
while p<>nil do
    if viz[p^.v]=0 then dfs(p^.v)
                 else p:=p^.adu;
end;
begin
assign(f,'dfs.in');
reset(f);
readln(f,n,m);
for i:=1 to m do
  begin
  readln(f,x,y);
  new(q);
  q^.v:=y;
  if l[x]=nil then begin
                   q^.adu:=nil;
                   l[x]:=q;
                   end
                   else
                   begin
                   q^.adu:=l[x];
                   l[x]:=q;
                   end;
  end;
dfs(1);
assign(g,'dfs.out');
rewrite(g);
for i:=1 to n do
 if viz[i]<>0 then k:=k+1;
writeln(g,k);
close(g);
end.