Cod sursa(job #565714)

Utilizator promix2012petruta andrei promix2012 Data 28 martie 2011 10:49:50
Problema Parcurgere DFS - componente conexe Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
program dfs;
const fi='dfs.in';
      fo='dfs.out';
var f,g:text;
a:array[0..100000,1..2000] of longint;
viz:array[1..100000] of 0..1;
n,m,nr,i,d,c: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,fi);
reset(f);
assign(g,fo);
rewrite(g);
read(f,n,m);
for i:=1 to m do
  begin
  read(f,c,d);
  inc(a[c,0]);
  a[c,a[c,0]]:=d;
  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.