inomdzhon92
@inomdzhon92
html, css, js, nodejs

Поиск по ячейкам в таблице?

Например, есть таблица вида:
3 0 0 7
0 4 0 0
0 0 5 6
Нужно построить замкнутый контур (цикл). Должен получиться некий квадрат (прямоугольник), грубо говоря.
Алгоритм, по идее, следующий:
Находим две любые ячейки с ненулевой нагрузкой (обязательно в разных строках и столбцах) и даем им знак "-". Из них будут вычитаться значения (значение минимальное из двух ячеек - 3).

Чтобы замкнуть контур, выбираем еще две ячейки (неважно, со значениями или пустые), которые составят прямоугольник с предыдущими двумя и даем им знак "+". Им прибавляем значение (то есть тоже минимальное число - 3).

В итоге должно получится, к примеру, так:
-3 0 0 +7
0 4 0 0
+0 0 5 -6
После манипуляций:
0 0 0 10
0 4 0 0
3 0 5 3

Я пробовал по другому алгоритму (реализация на Java если что, просто первая песочница, которая в голову пришла):
jsfiddle.net/bn55ftca
Итог:
-3 +0 0 7
+0 -4 0 0
0 0 5 6
Тоже все хорошо.
Но он ломается, когда я на рэндом таблицу выдаю. Бесконечно крутиться.
Все же надо реализовать так , чтобы сначала на рэндом только два минуса расставлялись в ненулевые, а потом уже плюсы.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
inomdzhon92
@inomdzhon92 Автор вопроса
html, css, js, nodejs
решил вопрос
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы