📄 ropriete.pas
字号:
var a:array[1..50,1..50] of integer;
m,n,i,j,k,max,nc,start,nr:integer;
f:text;
c,viz,v:array[1..50]of integer;
procedure bf(start,k:integer);
var p,q:integer;
begin
p:=1;
q:=1;
c[1]:=start;
viz[start]:=k;
while q<=p do begin
for i:=1 to n do
if (a[c[q],i]=1) and (viz[i]=0) then begin
inc(p);
c[p]:=i;
viz[i]:=k;
end;
inc(q);
end;
end;
function conex:boolean;
var j:integer;
begin
nc:=0;
repeat
j:=1;
while (j<=n) and(viz[j]<>0) do inc(j);
if j<=n then begin
inc(nc);
bf(j,nc);
end;
until j>n;
conex:=(nc=1);
end;
begin
assign(f,'graf.txt');
reset(f);
readln(f,m,n);
for k:=1 to m do begin
readln(f,i,j);
a[i,j]:=1;
a[j,i]:=1;
end;
read(f,start,k);
close(f);
max:=0;
if conex then write('toti sunt prieteni ')
else begin
for i:=1 to nc do begin
for j:=1 to n do
if viz[j]=i then begin
write(j,' ');
inc(nr);
end;
v[i]:=nr;
writeln;
end;
for i:=1 to nc do
if v[i]>max then max:=v[i];
for i:=1 to nc do
if max=v[i] then write('grupul cu cei mai multi prieteni ',i);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -