Cod sursa(job #272305)

Utilizator FllorynMitu Florin Danut Flloryn Data 6 martie 2009 19:33:37
Problema Parcurgere DFS - componente conexe Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
program pascal;
var f,g:Text; s:array[1..100000] of byte; a:array[1..100000] of longint;
    b:array[1..100000,1..1000] of longint;
    i,j,x,y,nrc,n,m:longint;
  procedure citire;
  begin
  assign(f,'dfs.in'); reset(f);
  assign(g,'dfs.out'); rewrite(g);
  readln(f,n,m);;
  for i:=1 to m do
    begin
    readln(f,x,y);
    inc(a[x]);
    b[x,a[x]]:=y;
    end;
  close(f);
  end;

  procedure df(nod:longint);
  var i:longint;
  begin
   s[nod]:=1;
   for i:=1 to a[nod] do
   if s[b[nod,i]]=0 then df(b[nod,i]);
  end;

  procedure me;
  begin
  nrc:=0;
  for j:=1 to n do
   if s[j]=0 then
           begin
            df(j);
            inc(nrc);
           end;
  write(g,nrc);
  close(g);
  end;

begin
citire;
me;
end.