Pagini recente » Cod sursa (job #1501979) | Cod sursa (job #1294664) | Profil StefanUstinescu | Cod sursa (job #2171489) | Cod sursa (job #209938)
Cod sursa(job #209938)
type adr=^noduri;
noduri=record val:longint; urm:adr; end;
var L:array[1..100000] of adr;
E:array[1..100000] of boolean;
n,m,i,j,k:longint;
p:adr;
f:text;
procedure df(nod:longint);
var p:adr;
begin
E[nod]:=true;
p:=L[nod];
while p<>nil do
begin
if not E[p^.val] then df(p^.val);
p:=p^.urm;
L[nod]:=L[nod]^.urm;
end;
end;
begin
assign(f,'dfs.in');
reset(f);
readln(f,n,m);
for k:=1 to m do
begin
readln(f,i,j);
new(p);
p^.val:=j; p^.urm:=L[i];
L[i]:=p;
new(p);
p^.val:=i; p^.urm:=L[j];
L[j]:=p;
end;
close(f);
k:=0;
for i:=1 to n do
if not E[i] then begin inc(k); df(i); end;
assign(f,'dfs.out');
rewrite(f);
write(f,k);
close(f);
end.