Pagini recente » Cod sursa (job #2064546) | Cod sursa (job #1243815) | Cod sursa (job #902225) | Cod sursa (job #2563997) | Cod sursa (job #493923)
Cod sursa(job #493923)
program dfs;
const maxn=100001;
maxm=200001;
type inod=0..maxn;
pnod=^nod;
nod=record
inf:inod;
next:pnod;
end;
var f,g:text; A,ult:array[inod] of pnod; i,n,S:inod; m:0..maxm;
viz:array[inod] of 0..1;
procedure citire;
var q:pnod; x,y:inod;
begin
Readln(f,n,m);
For i:=1 to m do
begin
Readln(f,x,y);
new(q);
q^.inf:=y;
If A[x]=nil then begin A[x]:=q; ult[x]:=q; end
else begin ult[x]^.next:=q; ult[x]:=q; end;
end;
end;
procedure dfs;
var x:pnod;
begin
For i:=1 to n do viz[i]:=0;
S:=0;
For i:=1 to n do
If viz[i]=0 then
begin
inc(S);
x:=A[i];
While x<>nil do
begin
viz[x^.inf]:=1;
x:=x^.next;
end;
end;
end;
begin
Assign(f,'dfs.in'); Reset(f);
Assign(g,'dfs.out');Rewrite(g);
citire; Close(f);
dfs;
Write(g,S); Close(g);
end.