eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Задача про призначення

Задача про призначення

Однією з класичних задач комбінаторної оптимізації є так звана "\textit{задача про призначення}". Формулюється вона наступним чином. Є $n$ працівників, пронумерованих числами від $1$ до $n$, і $n$ робіт, також пронумерованих числами від $1$ до $n$. Якщо $i$-й працівник виконує $j$-ту роботу, то йому виплачується заробітна плата у розмірі $c_{ij}$ грошових одиниць. Необхідно знайти таке призначення працівників на роботи (кожен працівник виконує рівно одну роботу, кожна робота виконується рівно одним працівником), щоб сумарна зарплата працівників мінімальна (відповідна сума називається \textit{вартістю призначення}). Напишіть програму, яка розвязує задачу про призначення. \InputFile Перший рядок містить ціле число $n\:(1 \le n \le 10)$. Наступні $n$ рядків містять по $n$ чисел кожен. При цьому $j$-те число $(i + 1)$-го рядка дорівнює $c_{ij} (1 \le c_{ij} \le 1000)$. \OutputFile Виведіть мінімальну можливу вартість призначення.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #2
2
1 2 
3 4
Вихідні дані #2
5
Вхідні дані #1
3
5 2 3
4 2 1
3 7 6
Вихідні дані #1
6