Pagini recente » Cod sursa (job #1639156) | Cod sursa (job #973859) | Cod sursa (job #2547712) | Cod sursa (job #698124) | Cod sursa (job #681391)
Cod sursa(job #681391)
Program adincime;
type lista=^celula;
celula=record
inf:longint;
next:lista;
end;
var a:array [1..100001] of lista;
b:array [1..100001] of byte;
b1:array [1..1 shl 15] of char;
v:lista;
i,n,m,p,x,y:longint;
fi,fo:text;
procedure dfs(k:longint);
var r:lista;
begin
r:=a[k];
while r<>nil do begin
b[r^.inf]:=1;
dfs(r^.inf);
r:=r^.next;
end;
end;
begin
assign(fi,'dfs.in');
assign(fo,'dfs.out');
settextbuf(fi,b1);
reset(fi); rewrite(fo);
readln(fi,n,m);
for i:=1 to m do begin
readln(fi,x,y);
new(v);
v^.inf:=y; v^.next:=a[x]; a[x]:=v;
end;
for i:=1 to n do
if b[i]=0 then begin
b[i]:=1; inc(p); dfs(i);
end;
write(fo,p);
close(fo);
end.