Cod sursa(job #929032)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 26 martie 2013 20:04:50
Problema Parcurgere DFS - componente conexe Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.82 kb
program dfs;
type vectbool=array[1..100000] of 0..1;
var a:array of array of longint;
    n,m,x,y,i,nr:longint;
    f,g:text; viz:vectbool;
    intrare:array[1..300000] of char;

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);settextbuf(f,intrare);
assign(g,'dfs.out');rewrite(g);
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;
writeln(g,nr);
close(f);close(g);
end.