Найти покрытие столбцов строками

From
Max Alekseyev (2:5015/60)
To
Rustam Ramazanov
Date
2002-10-23T13:57:20Z
Area
RU.ALGORITHMS
████ OS/2        Hi, Rustam !

Replying to a message of Rustam Ramazanov to Eugeny Tertishny:

 ET>> Есть матрица 16х14, несимметричная. Заполненная
 ET>> нулями и единицами. Необходимо
 ET>> найти минимальное количество строк, таких чтобы
 ET>> хоть в одном столбце была 1.
 ET>> Считается, что такие строки в любом случае есть
 RR> Упрощает жизнь, но не является решающим фактором.

 ET>> Хочется сделать не используя пер**ор. 
 RR> А чем перебор плох? К тому же все перебирать не надо.
 RR> Можно сделать следующее:
 RR> 1. Берем строку в которой максимальное число единиц.
 RR> Запомним столбцы в которых стоят единицы.
 RR> 2. В оставшихся строках в запомненных столбцах ставим 0.
 RR> 3. Переходим в п.1. Работа алгоритма заканчивается либо если во всех 
 RR> строках остаются только нули, либо если перебрали все строки (это тот 
 RR> самый худший вариант).

Эта эвристика не дает минимальное решение. Минимальное решение может не содержать строку, с максимальным числом единиц - например:

111100
000010
000001
001110
110001

Regards,      °°
        Max    ~

--- FleetStreet 1.27.3.8
 * Origin:  (2:5015/60)