Cod sursa(job #163303)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 21 martie 2008 22:14:07
Problema Parcurgere DFS - componente conexe Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
program dfs2;
var A : array [1..100000,1..2000] of longint;
    Nr : array [1..100000] of longint;
    ok : array [1..100000] of boolean;
    m,n,i,x,y,S : longint;
    f,g : text;


procedure dfs(x:integer);
var i : integer;
begin

ok[x] := false;

for i := 1 to Nr[x] do
if ok[A[x,i]] then dfs(A[x,i]);

end;


begin
assign(f,'dfs.in');
reset(f);
assign(g,'dfs.out');
rewrite(g);

readln(f,n,m);

for i := 1 to n do begin
Nr[i] := 0;
ok[i] := true;
end;

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

S := 0;
for i := 1 to n do
if ok[i] then begin
              S := S+1;
              dfs(i);
              end;

write(g,S);

close(f);
close(g);

end.