Cod sursa(job #280305)

Utilizator batracorina dijmarescu batra Data 13 martie 2009 12:20:34
Problema Parcurgere DFS - componente conexe Scor 5
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
const nmax=10000;
var f,g:text;
a:array[1..nmax,0..nmax] of 0..1;
viz:array[1..nmax]of 0..1;
c:array[1..nmax]of longint;
nc,x,y,i,m,n,s:longint;
ok:boolean;
procedure df(s:longint);
begin
  viz[s]:=1;
  for i:=1 to n do
     if (a[x,i]=1) and(viz[i]=0) then df(i);
end;
begin
assign(f,'dfs.in');
reset(f);
assign(g,'dfs.out');
rewrite(g);
readln(f,n,m);
for i:=1 to m do
   begin
   readln(f,x,y);
   a[y,x]:=1;
   a[x,y]:=1;
   end;
x:=1;
nc:=1;
repeat
ok:=true;
df(x);
for i:=x to n do
   if viz[i]=0 then
       begin
       ok:=false;
       nc:=nc+1;
       x:=i;
       break;
       end;
until ok;
write(g,nc);
close(g);
end.