Cod sursa(job #1362460)

Utilizator casianos1996Marc Casian Nicolae casianos1996 Data 26 februarie 2015 12:47:56
Problema Parcurgere DFS - componente conexe Scor 5
Compilator fpc Status done
Runda Arhiva educationala Marime 0.78 kb
program dfs;
var     nr,x,y,i,j,k,n,m:longint;
        a:array of array of longint;
        viz,c:array[1..100000] of longint;

procedure df(x,nr:longint);
var       i:longint;
begin
  viz[x]:=nr;
  for i:=1 to c[x] do
    df(a[x,i],nr);
end;


begin
  assign(input,'dfs.in'); reset(input);
  assign(output,'dfs.out'); rewrite(output);
  readln(n,m);
  setlength(a,n+1,1);
  for i:=1 to n do
    begin
      c[i]:=0;
      viz[i]:=0;
    end;
  for i:=1 to m do
    begin
      readln(x,y);
      c[x]:=c[x]+1;
      setlength(a[x],c[x]+1);
      a[x,c[x]]:=y;
    end;
  nr:=0;
  for i:=1 to n do
    begin
      if viz[i]=0 then
        begin
          inc(nr);
          df(i,nr);
        end;
    end;
  writeln(nr);
  close(input); close(output);
end.