Pagini recente » Cod sursa (job #958538) | Cod sursa (job #1069331) | Cod sursa (job #254850) | Cod sursa (job #2645979) | Cod sursa (job #153500)
Cod sursa(job #153500)
program comp_conex;
type max=1..100000;
pnod=^nod;
nod=record
i:max;
urm:pnod;
end;
var a:array[1..100000]of pnod;
s:array[1..100000]of integer;
c,n,m,i,nr:longint;
g:text;
procedure citire;
var f:text;
x,y:max;
p:pnod;
begin
assign(f,'dfs.in'); reset(f);
read(f,n,m);
for i:=1 to m do
begin
read(f,x,y);
new(p); p^.i:=y; p^.urm:=a[x]; a[x]:=p; new(p); p^.i:=x; p^.urm:=a[y];a[y]:=p;
end;
close(f);
end;
procedure viz(i:max);
var p:pnod;
begin
if s[i]=0 then inc(nr);
s[i]:=1;
p:=a[i];
while p<>nil do
begin
if s[p^.i]=0 then viz(p^.i);
p:=p^.urm;
end;
end;
begin {pp}
citire;
for i:=1 to n do
if (s[i]=0)then begin inc(c); viz(i); end;
assign(g,'dfs.out'); rewrite(g);
write(g,c); close(g);
end.