Pagini recente » Cod sursa (job #1735116) | Cod sursa (job #1105450) | Cod sursa (job #2606461) | Cod sursa (job #3004971) | Cod sursa (job #401234)
Cod sursa(job #401234)
const infile='dfs.in';
outfile='dfs.out';
maxn=100001;
type list=^nod;
nod=record
inf:longint;
next:list;
end;
var n,nr,m:longint;
a:array[1..maxn]of list;
uz:array[0..maxn]of byte;
procedure citire;
var f:text;
i,j,k:longint;
p:list;
begin
assign(f,infile); reset(f); readln(f,n,m);
for k:=1 to m do begin
readln(f,i,j); new(p); p^.inf:=j; p^.next:=a[i]; a[i]:=p;
new(p); p^.inf:=i; p^.next:=a[j]; a[j]:=p;
end;
close(f);
end;
procedure df(x:longint);
var p:list;
begin
uz[x]:=1; p:=a[x];
while(p<>nil)do begin
if(uz[p^.inf]=0)then df(p^.inf);
p:=p^.next;
end;
end;
procedure afisare;
var f:text;
i:longint;
begin
assign(f,outfile); rewrite(f);
nr:=0; fillchar(uz,sizeof(uz),0);
for i:=1 to n do if(uz[i]=0)then begin inc(nr); df(i); end;
write(f,nr);
close(f);
end;
begin
citire; afisare;
end.