Pagini recente » Cod sursa (job #1181199) | Cod sursa (job #2072144) | Cod sursa (job #1448517) | Cod sursa (job #1208949) | Cod sursa (job #1430593)
program repet;
const Maxnod = 100005;
Maxmuchii = 200005;
var f, g:text;
n, m, i, j, x, k, contor:longint;
t:array[0..1, 1..Maxmuchii*2] of longint;
start:array[1..Maxnod] of longint;
viz:array[1..Maxnod] of boolean;
bufin, bufout:array[1..1 shl 17] of char;
procedure df(nod:longint);
var z :longint;
begin
viz[nod] := true;
z := start[nod];
while z <> 0 do
begin
if not viz[t[0, z]] then df(t[0, z]);
z := t[1, z];
end;
end;
begin
assign(f, 'dfs.in'); reset(f);
assign(g, 'dfs.out'); rewrite(g);
readln(f, n, m);
k := 0;
for x := 1 to m do
begin
readln(f, i, j);
inc(k);
t[0, k] := j;
t[1, k] := start[i];
start[i] := k;
inc(k);
t[0, k] := i;
t[1, k] := start[j];
start[j] := k;
end;
contor := 0;
for i := 1 to n do
if not viz[i] then
begin
inc(contor);
df(i);
end;
writeln(g, contor);
close(f); close(g);
end.