Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один ход поменять в ней местами два любых соседних числа. За какое минимальное количество ходов вы сможете получить последовательность...

Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один ход поменять в ней местами два любых соседних числа. За какое минимальное количество ходов вы сможете получить последовательность, в которой все числа идут по возрастанию?
Гость
Ответ(ы) на вопрос:
Гость
const   a: array of integer = (7, 3, 10, 9, 8, 4, 1, 6, 2, 5); begin   var n := 0;   var found := false;   repeat     found := false;     for var i := low(a) to High(a) - 1 do       if a[i] > a[i + 1] then begin         swap(a[i], a[i + 1]);         found := true;         n := n + 1;       end;   until not found;     writeln('Swaps = ', n); end. Ответ Swaps = 30
Не нашли ответ?
Ответить на вопрос
Похожие вопросы