Pagini recente » Cod sursa (job #1442099) | Cod sursa (job #2184358) | Cod sursa (job #1623565) | Cod sursa (job #1975026) | Cod sursa (job #176217)
Cod sursa(job #176217)
type lista=^element;
element=record
i:longint;
a:lista;
end;
var l:array[1..100000] of lista;
x,y,n,m,i:longint;
p:lista;
viz:array[1..100000] of 0..1;
procedure dfs(i:longint);
var q:lista;
begin
q:=l[i];
while q<>nil do
begin
if viz[q^.i]=0 then
begin
viz[q^.i]:=x;
dfs(q^.i);
end;
q:=q^.a;
end;
end;
begin
assign(input,'dfs.in'); reset(input);
assign(output,'dfs.out'); rewrite(output);
readln(n,m);
for i:=1 to m do
begin
read(x,y);
new(p);
p^.i:=y;
p^.a:=l[x];
l[x]:=p;
end;
for i:=1 to n do viz[i]:=0;
i:=1;
x:=1;
while i<=n do
begin
if viz[i]=0 then begin viz[i]:=x;dfs(i);inc(x); end;
inc(i);
end;
writeln(x-1);
close(input);
close(output);
end.