Задача о назначениях
(Время: 1 сек. Память: 16 Мб Сложность: 85%)
Одной из классических задач комбинаторной оптимизации является так называемая «задача о назначениях». Формулируется она следующим образом.
Есть N работников, пронумерованных числами от 1 до N, и N работ, также пронумерованных числами от 1 до N. Если i-ый работник выполняет j-ую работу, то ему выплачивается зарплата в размере Cij денежных единиц. Необходимо найти такое назначение работников на работы (каждый работник выполняет ровно одну работу, каждая работа выполняется ровно одним работником), что суммарная зарплата работников минимальна (соответствующая сумма называется стоимостью назначения).
Напишите программу, решающую задачу о назначениях.
Входные данные
Входной файл INPUT.TXT содержит натуральное число N (N ≤ 100). Последующие N строк содержат по N чисел каждая. При этом j-ое число (i + 1)-ой строки равно Cij (1 ≤ Cij ≤ 20 000).
Выходные данные
В выходной файл OUTPUT.TXT выведите минимальную возможную стоимость назначения.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 2 1 2 2 1 | 2 |
2 | 2 1 2 3 4 | 5 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|