Pagini recente » Cod sursa (job #2402252) | Cod sursa (job #1770194) | Cod sursa (job #2894403) | Cod sursa (job #3040791) | Cod sursa (job #150985)
Cod sursa(job #150985)
var x:array[1..400000] of longint;
y,z:array[1..100001] of longint;
n,m,i,j,k,p:longint;
procedure citire;
var a,b:array[1..200000] of longint;
begin
for i:=1 to m do
begin
readln(a[i],b[i]);
inc(y[a[i]]);
inc(y[b[i]]);
end;
for i:=2 to n do
y[i]:=y[i-1]+y[i];
for i:=1 to m do
begin
x[y[a[i]]]:=b[i];
dec(y[a[i]]);
x[y[b[i]]]:=a[i];
dec(y[b[i]]);
end;
y[n+1]:=2*m;
end;
procedure det(p,k:longint);
var j:longint;
begin
z[p]:=k;
for j:=y[p]+1 to y[p+1] do
if z[x[j]]=0 then
det(x[j],k);
end;
procedure dfs;
begin
k:=0;
for i:=1 to n do
if z[i]=0 then
begin
inc(K);
det(i,k);
end;
end;
begin
assign(input,'dfs.in');
assign(output,'dfs.out');
reset(input);
rewrite(output);
readln(n,m);
citire;
dfs;
writeln(K);
close(input);
close(output);
end.