Cod sursa(job #902332)

Utilizator mada0222Tomus Madalina mada0222 Data 1 martie 2013 13:40:49
Problema Parcurgere DFS - componente conexe Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.96 kb
program sss;
var f,g:text;
a:array of array of longint;
n,m,i,j,x,y,nr:longint;
viz:array[0..100000] of integer;
procedure df(i:longint);
var k:longint;
begin
for k:=1 to a[i,0] do
  begin
    if viz[a[i,k]]=0 then
      begin
      viz[a[i,k]]:=1;
      df(a[i,k]);
      end;
  end;
end;
begin
assign(f,'dfs.in');reset(f);
assign(g,'dfs.out'); rewrite(g);
  readln(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,x,y);
        setlength(a[x],length(a[x])+1);
        a[x,0]:=a[x,0]+1;
        a[x,a[x,0]]:=y;
        setlength(a[y],length(a[y])+1);
        a[y,0]:=a[y,0]+1;
        a[y,a[y,0]]:=x;
      end;
      nr:=0;
        for i:=1 to n do
          begin
            if viz[i]=0 then
              begin
              nr:=nr+1;
              viz[i]:=1;
              df(i);
              end;
          end;
      write(g,nr);
close(f);
close(g);
end.