Страницы: 1
RSS
найти строки, взаимодополняющие друг друга до единичной, дан массив из нулей и единиц, много строк и столбцов. составить эффективный алгоритм
 
Цитата
Простите я опять с массивами..
Есть двумерный массив из нулей и единиц. Требуется найти минимальное количество строк, которые бы образовали строку только из единиц. Результатом должны быть номера строк и их количество.

Я сначала ищу строку где больше всего единиц и начинаю ее сравнивать со всеми строками на максимальное отличие, как только нахожу такую, меняю в строке нули на единицы и сравниваю дальше. Очень долгий и много раз повторяющийся цикл For Next в Do Loop.... Может кто-нибудь предложит прогрессивнее метод?

В приложении сама матрица чисел 150 строк на 50 столбцов. (в оригинале существенно больше, обрезал для примера)


не совсем понял, чем не удовлетворило модераторов название темы..
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=51776&result=new

так лучше?  :)  

сначала можно было бы посчитать суммы всех строк и занести их в массив(словарь)

потом начиная с наибольшей суммы искать сразу в дополняющих суммах, а не во всех. например:

есть сумма 39 смотрим в словаре, есть ли строки с суммой 11(дополнение до 50)и проверяем только среди них, есть ли соответствие по месту единиц и нулей..

ссылка на файл: http://www.planetaexcel.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=78268&action=download
Изменено: Слэн - 11.10.2013 10:59:41
Живи и дай жить..
 
Вы б,  ради интереса, хотя б одну пару спецом сделали....

сделал две строки - выделено желтым.

...если правильно задачу понял...
Страницы: 1
Наверх