Cod sursa(job #912076)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 12 martie 2013 06:05:21
Problema Parcurgere DFS - componente conexe Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
program dfs;
var f,g:text;
    a:array of array of longint;
    n,m,x,y,i:longint;
    viz:array[1..100000] of 0..1;
    bufin,bufout:array[1..65000] of byte;
    nr:longint;
 
procedure dfs(nod:longint);
var i:longint;
begin
 viz[nod]:=1;
 for i:=1 to a[nod,0] do
  if viz[a[nod,i]]=0 then
   dfs(a[nod,i]);
end;
 
begin
 assign (f,'dfs.in'); reset(f);
 assign (g,'dfs.out'); rewrite (g);
 settextbuf (f,bufin);
 settextbuf (g,bufout);
 readln (f,n,m);
 setlength(a,n+1,1);
 for i:=1 to m do
 begin
  readln (f,x,y);
  setlength(a[x],length(a[x])+1);
  inc(a[x,0]);
  a[x,a[x,0]]:=y;
  setlength(a[y],length(a[y])+1);
  inc(a[y,0]);
  a[y,a[y,0]]:=x;
 end;
 nr:=0;
 for i:=1 to n do
  if viz[i]=0 then
  begin
    inc(nr);
    dfs(i);
  end;
  write (g,nr);
  close(F); close(G);
end.