@Nik_Haker

Как найти минимальное количество перестановок?

Назовем равномерным набор натуральных чисел, в котором чередуются четные и нечетные числа: четное-нечетное-четное-нечетное... или нечетное-четное-нечетное... Задан набор из 2N натуральных чисел, из которых ровно N чисел четных и N чисел нечетных. Нужно определить, за какое МИНИМАЛЬНОЕ количество перестановок его можно сделать равно мерным. Перестановкой считаем обмен местами двух эл-тов. Есть ли какие то формулы для этого?
надо написать программу для расчета. программу напишу я сам, вопрос как рассчитать минимальное кол-во перестановок? даже человеку, вручную, трудно сказать какое минимальное.. есть ли какие то формулы для этого?
  • Вопрос задан
  • 898 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Mercury13
Программист на «си с крестами» и не только
Рассмотрим порядок чёт-нечет-чёт-нечет…
Считаем, сколько чётных не на своих местах (=a).
И сколько нечётных не на своих местах (=b).
Если a≠b, у нас нет N чётных и N нечётных — выводим «неверный набор данных».
А если равны, то для порядка чёт-нечет нужны a замен. Для противоположного — N-a.
Вот и получается ответ min(a, N−a).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы