Pagini recente » Cod sursa (job #2589532) | Cod sursa (job #1007475) | Cod sursa (job #347209) | Cod sursa (job #2529091) | Cod sursa (job #163303)
Cod sursa(job #163303)
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.