| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Найти все комбинации матрицы |
| Автор: JavaDell 5.2.2014, 18:57 | ||
| Запостил этот вопрос в алгоритмах, но так как он имеет отношение и к яве, кину и сюда. Есть 2х мерный массив (java)
массив может быть заполнен элементами 0 или 1. Надо пройти ВСЕ возможные комбинации нулей и единиц в этом массиве. Лупами, без использования рекурсии. Каждую получившуюся комбинацию нужно иметь возможноть сравнить с имеющейся (здесь не дано). Знаю, что количество полученных комбинаций очень велико, 2^(n*n), но все же. |
| Автор: Magistrus 7.2.2014, 14:05 |
| А почемы именно за лупами нужно сделать? Рекурсия бы здесь выглядела правильнее. Если представить, что строка матрицы это четырех битовое число в бинарном представлении 0001 - 1111 (т.е. от 1 до 15), то достаточно четырех вложенных циклов. И учись нормально формировать ТЗ, а то понять что-то из того, что ты написал очень сложно. |
| Автор: Mirkes 4.3.2014, 13:27 |
| Интересная постановка вопроса. В принципе все решается одним циклом по матрице вытянутой в строку (ну или двумя, если так нужно сохранить матрицу). При этом гарантировано отсутствие повторов. идея тупая до не могу. Начинаем с матрицы заполненной одними нулями. Далее крутим цикл генерации новых матриц. Цикл перехода к следующей матрице: Перебираем элементы двумя циклами по строкам и столбцам если текущий элемент 0 то ставим вместо него 1 и прерываем обработку, поскольку новая матрица найдена. если текущий элемент 1 то заменяем нулем и переходим к следующему элементу. Если цикл не был прерван, то новых матриц нет. Ну и что дальше? |