Задача №114327. Завод
Поздравляем! Вас наняли управляющим одного крупного завода по производству чего-то очень важного. На вашем заводе есть \(n\) рабочих и \(n\) станков. Каждый рабочий умеет работать на каких-то станках, а на каких-то не умеет. К счастью, вы можете отправить какого-то рабочего на курсы повышения квалификации, чтобы он научился работать на каком-то станке, заплатив за это 1 тугрик. Нет никаких ограничений по тому, кого и сколько раз отправлять на курсы. У ваших работников также очень хорошая память, поэтому если они умели или научились работать на каком-то станке, то уже никогда не забудут, как это делать.
Но не все так радужно. Из-за кризиса сократили всех других менеджеров, поэтому рабочие сами определяют, за каким станком им работать в определенный день. Рабочие могут прийти на работу в случайном порядке. Когда рабочий пришел на работу он может выбрать любой еще не занятый станок, на котором умеет работать, и сядет за него. Если же такого не нашлось, то он расстроится и уйдет домой, а ваш завод понесет убытки. Так, если у вас было два рабочих, первый из которых умел работать на 1 и 2 станке, а второй только на первом, то если первый пришел на работу раньше и занял первый станок, то ваш завод понесет убытки.
Ваша задача в том, чтобы, потратив наименьшее кол-во тугриков на обучение сотрудников, сделать так, чтобы в каждый из дней все рабочие работали, а каждый станок был занят независимо от того, в каком порядке придут рабочие и какие станки они выберут.
В первой строке задано число \(1 \le n \le 25\) - кол-во рабочих и кол-во станков. Каждая из следующих строк содержит информацию об умениях рабочих. \(i+1\)-я строка ввода содержит строку \(s_i\), где \(s_{i,j} = 1\), если \(i\) рабочий умеет работать за \(j\)-м станком и 0 в обратном случае.
Выведите одно число - минимальное кол-во денег, которое вы можете потратить.
Подзадача 1(15 баллов) \(1 \le n \le 3\)
Подзадача 2(45 баллов) \(1 \le n \le 10\)
Подзадача 3(40 баллов) нет дополнительных ограничений
2 11 10
1
2 10 00
1
3 000 110 000
3