Cod sursa(job #210999)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 30 septembrie 2008 09:50:02
Problema Parcurgere DFS - componente conexe Scor 50
Compilator fpc Status done
Runda Arhiva educationala Marime 1.01 kb
const nmax=1000;
var a:array[1..nmax,1..nmax] of 0..1;
    viz:array[1..nmax] of boolean;
    nc,i,s,n,m,x,y:integer;
    f,g:text;
    ok:boolean;
procedure DF(x:integer);
var i:integer;
begin
  viz[x]:=true;
  for i:=1 to n do
    if (a[x,i]=1) and (Not viz[i]) then DF(i);
end;
begin
  assign(f,'dfs.in');
  reset(f);
  readln(f,n,M);
  for i:=1 to m do
      begin
      read(f,x,y);
      a[x,y]:=1;
      a[y,x]:=1;
      end;
  close(f);
  assign(g,'dfs.out');
  nc:=1;
  x:=1;
  repeat
        ok:=true;
        DF(x);
        for i:=1 to n do
            if viz[i]=false then begin
               ok:=False;
               x:=i;
               nc:=nc+1;
               break;
            end;
  until ok;
  rewrite(g);
  writeln(g,nc);
  close(g);
End.




  {MARIRE TATALUI SI FIULUI SI SFANTULUI DUH
            SI ACUM SI PURUREA SI IB VECII VECILOR AMIN
          DOMNULUI SA NE RUGAM
           DA DOAMNE
           DOAMNE MILUIE MILUIESTE
           PACE TIE CITITORULE}