Pagini recente » Cod sursa (job #38350) | Cod sursa (job #1299358) | Cod sursa (job #422581) | Cod sursa (job #693654) | Cod sursa (job #1413268)
program dfs;
const maxnod = 100001;
maxmuchii = 200001;
var f,g:text;
n,m,k,x,i,j,contor:longint;
start:array[1..maxnod] of longint;
viz:array[1..maxnod] of boolean;
t:array[0..1,1..2*maxmuchii] of longint;
bufin,bufout:array[1..1 shl 17] of char;
procedure df(nod:longint);
var z:longint;
begin
z := start[nod];
viz[nod] := true;
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);
settextbuf(f,bufin); settextbuf(f,bufout);
readln(f,n,m);
k := 1;
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.