Cod sursa(job #147702)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 3 martie 2008 13:27:57
Problema Parcurgere DFS - componente conexe Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
program dfs;
var A : array [1..1000,1..1000] of 0..1;
    C,viz : array [1..1000] of 0..1;
    m,n,i,j,x,y,U,P,S : longint;
    f : text;
begin
assign(f,'dfs.in');
reset(f);
readln(f,n,m);

for i := 1 to m do begin
readln(f,x,y);
A[x,y] := 1;
A[y,x] := 1;
end;
close(f);

U := 1;
P := 0;
C[U] := 1;
viz[1] := 1;

while P<U do begin
inc(P);
for i := 1 to n do
if A[i,C[P]]=1 then if viz[i]<>1 then begin
                                    viz[i] := 1;
                                    inc(U);
                                    C[U] := i;
                                    end;
end;

S := 0;
for i := 1 to n do
if viz[i]=1 then inc(S);

assign(f,'dfs.out');
rewrite(f);
write(f,S);
close(f);
end.