У меня есть два простых двумерных массива (представленных как map ), заполненных 1 и 0.
| A | B | C | D | sum
--------------------------
A | 0 | 1 | 1 | 1 | 3
B | 1 | 0 | 0 | 0 | 1
C | 1 | 0 | 0 | 1 | 2
D | 1 | 0 | 1 | 0 | 1
это представление графика ,поэтому таблица симметрична главной диагонали (ни один элемент не имеет отношения к себе / нет рекурсии /).Мне нужно генерировать перестановки указанных столбцов / строк.Я знаю, что есть функция next_permutation () , но я не знаю, как ее использовать (для двумерного массива, представляющего график), я думаю, мне нужно написать собственный алгоритм для просто возврата индекса из 2 столбцов / строкдля переключения.Я не могу понять, что я переписал бы всю таблицу только из-за переключения 2 столбцов / строк.
И самое сложное, что переключение всех строк / столбцов не является необходимым, когда есть строки, которыеимеет уникальную сумму - эти столбцы / строки (в моем случае A) могут остаться на своем месте, потому что ясно, к какому члену во второй таблице они принадлежат (= больше нет членов с таким же количеством отношений).
После того, как я смогу генерировать перестановки AD (ее таблицы), я могу сравнить сгенерированную таблицу со второй и проверить, совпадают ли они (это то, что я уже сделал).
Как я могуделать перестановки?