2015-05-05 4 views
0

Допустим, у меня есть 5x5 массив чисел, как показанонайти оптимальное сочетание 5х5 массива

p q r s t 
A 37 9 7 38 93 
B 42 50 2 37 38 
C 57 92 52 75 37 
D 59 25 65 61 33 
E 3 65 39 24 90 

Как я могу написать программу, которая будет идти до конца и найти наименьшее общее значение для всех комбинаций столбцов и строки. (Никакая колонка или строка не могут использоваться дважды, но они могут быть в любой комбинации)

Я не против, как беспорядочный код получает, я просто пытаюсь выработать метод грубой силы для решения этой проблемы.

+0

Покажите нам одну примерную комбинацию и полученное значение. –

+0

Итак, например ... Если A было сопряжено с p, C с q, B с r, D с s и E с t, тогда я бы получил 37 + 92 + 2 + 61 + 90 = 282. Цель программы - найти минимально возможную общую сумму. (извините за плохое форматирование, im на мобильном устройстве на работе) – Killedan9

ответ

1

Это Assignment Problem. Он эффективно решается Hungarian Algorithm.

+0

Удивительная благодарность, знаете ли вы о существующих реализациях C++ венгерского алгоритма? – Killedan9

+0

Эта реализация на языке C ссылается на страницу Википедии для венгерского алгоритма: https://github.com/maandree/hungarian-algorithm-n3/blob/master/hungarian.c –

Смежные вопросы