Pagini recente » Cod sursa (job #231128) | Cod sursa (job #2959009) | Cod sursa (job #2735087) | Cod sursa (job #1409834) | Cod sursa (job #516051)
Cod sursa(job #516051)
type Pgr = ^Tgr;
Tgr = record
b:longword;
kov:Pgr;
end;
var be,ki:text;
n,m,i,s,x,y:longword;
a:array[1..100000] of boolean;
v:array[1..100000] of Pgr;
procedure dfs(start:longword);
var p:Pgr;
begin
if a[start] then exit;
a[start]:=true;
p:=v[start];
while p<>nil do
begin
dfs(p^.b);
p:=p^.kov;
end;
end;
procedure add(a,b:longword);
var p:Pgr;
begin
new(p);
p^.b:=b;
p^.kov:=v[a];
v[a]:=p;
end;
begin
assign(be,'dfs.in');
assign(ki,'dfs.out');
reset(be);
rewrite(ki);
readln(be,n,m);
for i:=1 to m do
begin
readln(be,x,y);
add(x,y);
end;
for i:=1 to n do
if not a[i] then
begin
inc(s);
dfs(i);
end;
writeln(ki,s);
close(ki);
end.