Ребятам уже встречалась подобная задача (см. комментарии к задаче 18). Здесь, так же как и в задаче 18, нужно экономить вершины, т. е. не размещать на одном уровне две одинаковые вершины, имеющие общую предыдущую (или две одинаковые корневые вершины). Исключение из этого правила составляет лишь случай, когда одна из одинаковых вершин является листом, а другая – нет. Например, в мешке V есть слова КИС и КИСА. У этих путей будут две общие вершины – К и И. Однако бусины С этих путей будут разными вершинами дерева.
mail66
15.09.2021
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018 // Внимание! Если программа не работает, обновите версию!
procedure BubbleSortFlag(a:array of integer); // пузврьковая сортировка с флажком begin var f:=True; // флажок перестановки var p:=1; // номер перестановки var n:=a.Length; while f do begin f:=false; for var i:=0 To n-p-1 Do if a[i]>a[i+1] then begin Swap(a[i],a[i+1]); f:=true end; p+=1 end end;
begin var a:=ArrRandom(10,-10,10); a.Println; BubbleSortFlag(a); a.Println end.
ответ: 1 и 2
Объяснение:
Потому что