Pagini recente » Monitorul de evaluare | Cod sursa (job #2156818) | Diferente pentru home intre reviziile 259 si 260 | Monitorul de evaluare | Cod sursa (job #912076)
Cod sursa(job #912076)
program dfs;
var f,g:text;
a:array of array of longint;
n,m,x,y,i:longint;
viz:array[1..100000] of 0..1;
bufin,bufout:array[1..65000] of byte;
nr:longint;
procedure dfs(nod:longint);
var i:longint;
begin
viz[nod]:=1;
for i:=1 to a[nod,0] do
if viz[a[nod,i]]=0 then
dfs(a[nod,i]);
end;
begin
assign (f,'dfs.in'); reset(f);
assign (g,'dfs.out'); rewrite (g);
settextbuf (f,bufin);
settextbuf (g,bufout);
readln (f,n,m);
setlength(a,n+1,1);
for i:=1 to m do
begin
readln (f,x,y);
setlength(a[x],length(a[x])+1);
inc(a[x,0]);
a[x,a[x,0]]:=y;
setlength(a[y],length(a[y])+1);
inc(a[y,0]);
a[y,a[y,0]]:=x;
end;
nr:=0;
for i:=1 to n do
if viz[i]=0 then
begin
inc(nr);
dfs(i);
end;
write (g,nr);
close(F); close(G);
end.