Я пытаюсь написать код, чтобы определить, является ли матрица перестановкой матрицы Ханкеля, но я не могу думать об эффективном решении, отличном от очень медленной грубой силы. Вот спецификация.
Ввод: n на n матрицу M, чьи записи равны 1 или 0.
Формат ввода: Промежуточные строки. Одна строка на строку. Например
0 1 1 1
0 1 0 1
0 1 0 0
1 0 1 1
Вывод: Перестановка строк и столбцов M, так что M является Hankel matrix, если это возможное. Матрица Ганкеля имеет постоянные косоугольные диагонали (положительные наклонные диагонали).
Когда я говорю перестановку, я имею в виду, что мы можем применить одну перестановку к порядку строк и, возможно, другую по столбцам.
Буду очень признателен за любые идеи.