Cod sursa(job #631341)

Utilizator mada0222Tomus Madalina mada0222 Data 7 noiembrie 2011 20:32:57
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;
viz:array[1..100000] of 0..1;
n,m,nr,i,d,c,t,x:longint;
procedure dfs(nod:longint);
var r:longint;
begin
for r:=1 to a[nod,0] do
  if viz[a[nod,r]]=0 then
      begin
      viz[a[nod,r]]:=1;
      dfs(a[nod,r]);
      end;
end;

begin
assign(f,'dfs.in');
reset(f);
assign(g,'dfs.out');
rewrite(g);
read(f,n,m);
setlength(a,n+1);
for i:=1 to n do
setlength(a[i],1);
for i:=1 to m do
  begin
  read(f,c,d);
  setlength(a[c],length(a[c])+1);
  inc(a[c,0]);
  a[c,a[c,0]]:=d;
   setlength(a[d],length(a[d])+1);
  inc(a[d,0]);
  a[d,a[d,0]]:=c;
  end;

  for i:=1 to n do
    begin
    if viz[i]=0 then
    begin
    inc(nr);
    viz[i]:=1;
    dfs(i);
    end;
    end;

    write(g,nr);
    close(f);
    close(g);
    end.