Cod sursa(job #1376538)

Utilizator Stefan.Andras Stefan Stefan. Data 5 martie 2015 17:46:13
Problema Parcurgere DFS - componente conexe Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.17 kb
program repetdfs;
var f,g:text;
    n,m,i,j,k,x,nr:longint;
    t:array[0..1,1..400001] of longint;
    start:array[1..100000] of longint;
    viz:array[1..100000] of byte;
procedure df(nod:longint);
var z:longint;
begin
        z:=start[nod];
        viz[nod]:=1;
        while z <> 0 do
                begin
                if viz[t[0,z]] = 0 then
                        df(t[0,z]);
                z:=t[1,z];
                end;


end;
begin
        assign(f,'dfs.in'); reset(f);
        assign(g,'dfs.out'); rewrite(g);
        readln(f,n,m);
        k:=0;
        for x:=1 to m do
                begin
                readln(f,i,j);
                inc(k);
                t[0,k]:=j;
                t[1,k]:=start[i];
                start[i]:=k;
                inc(k);
                t[0,k]:=i;
                t[1,k]:=start[j];
                start[j]:=k;
                end;
         nr:=0;
         for i:=1 to n do
                if viz[i] = 0 then
                        begin
                        inc(nr);
                        df(i);
                        end;
         writeln(g,nr);
        close(f); close(g);
end.