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
решил вопрос
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект