Cod sursa(job #274910)

Utilizator rendorzegAndrei Pavel rendorzeg Data 10 martie 2009 08:36:39
Problema Parcurgere DFS - componente conexe Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.95 kb
var f,g:text;
    n,m,a,b,k,p,i,nc:longint;
    l,max:byte;
    d: array [1..100000,1..100000] of longint;
    v: array [1..1000000] of longint;
    vb:boolean;
procedure dfs (k:byte);
var i:byte;
begin
v[k]:=1;
l:=l+1;
for i:=1 to n do if (v[i]=0) and (d[k,i]=1) then dfs(i);
end;
begin
assign(f,'dfs.in');
reset(f);
assign(g,'dfs.out');
rewrite(g);
read(f,n,m);
for i:=1 to m do begin
                 read(f,a,b);
                 d[a,b]:=1;
                 d[b,a]:=1;
                 end;

{max:=1;
for p:=1 to n do begin
                 l:=0;
                 fillchar(v,sizeof(v),0);
                 dfs(p);
                 if l>max then max:=l;
                 end;}
p:=1;
nc:=1;
max:=1;
repeat
vb:=true;
dfs(p);
for i:=1 to n do
if v[i]=0 then begin
               vb:=false;
               p:=i;
               inc(nc);
               break;
               end;
until vb;
write(g,nc);
close(f);
close(g);
end.