Pagini recente » Cod sursa (job #1130779) | Cod sursa (job #1420134) | Cod sursa (job #1026210) | Cod sursa (job #1340158) | Cod sursa (job #1606742)
program nume;
type vector=array [0..1000]of integer;
var a:array[0..1000,0..1000]of integer;
i,max,C1,j,n,m,x,y,C:integer;
f,g:text;
viz:vector;
viz1:array of integer;
procedure dfs(x:integer;viz:vector);
var i:integer;
begin
if viz[x]=0 then
begin
viz[x]:=1;
for i:=1 to n do
if (a[x,i]=1)and(viz[i]=0)then
dfs(i,viz);
end;
C:=C+1;
end;
begin
assign(f,'dfs.in');
reset(f);
assign(g,'dfs.out');
rewrite(g);
readln(f,n,m);
setlength(viz1,n+1);
for i:=1 to m do
begin
readln(f,x,y);
a[x,y]:=1;
a[y,x]:=1;
end;
for i:=1 to n do
begin
dfs(i,viz);
if C<>n then
viz1[C]:=1;
if C>max then
max:=C;
C:=0;
end;
for i:=1 to max do
if viz1[i]<>0 then
C1:=C1+1;
writeln(g,C1);
close(f);
close(g);
end.