очередную компоненту
очередную компоненту двусвязности, начинающуюся с вершины v.
Итак, логика.
procedure Dvy(v,p:integer);{вершина p - предок вершины v}
{массивы A, Num, Lowpg и переменная nm - глобальные}
var u:integer;
begin
Inc(nm);Num[v]:=nm;Lowpg[v]:=Num[v];
for u:=1 to N do
if A[v,u]<>0 then if Num[u]=0 then begin
<сохранить ребро (v,u) в стеке>;
Dvy(u,v);
Lowpg[v]:=Min(Lowpg[v],Lowpg[u]);
{функция, определяющая минимальное из двух чисел }
if Lowpg[u]>=Num[v] then <вывод компоненты>;
end
else if (u<>p) and (Num[v]>Num[u]) then begin
{u не совпадает с предком вершины v}
<сохранить ребро (v,u) в стеке>;
Lowpg[v]:=Min(Lowpg[v],Num[u]);
end;
end;
Фрагмент основной логики:
....
FillChar(Num,SizeOf(Num),0);
FillChar(Lowpg,SizeOf(Lowpg),0);
nm:=0;
for v:=1 to N do if Num[v]=0 then Dvy(v,0);
....
Дополнение. Мостом графа G называется каждое
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа