Pagini recente » Cod sursa (job #2891063) | Cod sursa (job #2865313) | Cod sursa (job #2911772) | Cod sursa (job #1762917) | Cod sursa (job #534955)
Cod sursa(job #534955)
type matrice=array[0..100,0..100] of integer;
vector=array[0..10000] of integer;
var a:matrice;
v:vector;
n,m:longint;
procedure citire(var a:matrice; var n,m:longint);
var i,j,c:longint;
begin
assign(input,'dfs.in');reset(input);
readln(n,m);
for c:=1 to m do begin
readln(i,j);
a[i,j]:=1;
a[j,i]:=1;
end;
close(input);
end;
procedure df(k:longint);
var i:longint;
begin
v[k]:=1;
for i:=1 to n do
if (v[i]=0) and (a[k,i]<>0) then df(i);
end;
procedure scrie;
var i,j,nr:longint;
begin
assign(output,'dfs.out');rewrite(output);
if m=0 then begin
write(0);
exit;
end;
nr:=0;
i:=1;
repeat
df(i);
i:=0;
inc(nr);
for j:=1 to n do
if v[j]=0 then begin
i:=j;
break;
end;
until i=0;
write(nr);
close(output);
end;
begin
citire(a,n,m);
scrie;
end.