Существует тип n × n матрицы W, называемой базовой канонической формой Вейра . Такая матрица описывается своими блоками и имеет следующие свойства, используя следующую справочную диаграмму:
- основные диагональные блоки W ii представляют собой матрицы n i × n i вида λ I n i, где I n i - единичная матрица n i × n i .
- n 1 ≥ n 2 ≥ ... ≥ n r
- первые супердиагональные блоки W k-1, k для k ∈ 2..r представляют собой n k-1 × n k матриц, которые имеют полный ранг столбца в форме эшелона с уменьшенным числом строк , или, проще говоря, I n k, сидящий сверху n k-1 - n k рядов нулей.
- все остальные блоки - 0 матриц.
Например:
- Основные диагональные блоки (желтые) таковы, что n i равны 4, 2, 2 и 1.
- Первые супердиагональные блоки выделены зеленым цветом.
- Серая зона состоит из всех других блоков, которые все равны 0 .
Для этого вызова мы примем λ = 1.
вход
Квадратная матрица с 0 и 1 в любом удобном формате.
Выход
Выведите одно из двух разных значений для того, является ли входная матрица Вейром или нет Вейром.
правила
Это код-гольф . Побеждает меньшее количество байтов на каждом языке. Применяются стандартные правила / лазейки.
Контрольные примеры
Представлено в виде массивов строк.
Вейр:
[[1]]
[[1,1],[0,1]]
[[1,0,1,0,0],[0,1,0,1,0],[0,0,1,0,1],[0,0,0,1,0],[0,0,0,0,1]]
[[1,0,0,1,0,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,1,0,0,1,0,0,0],[0,0,0,1,0,0,1,0,0],[0,0,0,0,1,0,0,1,0],[0,0,0,0,0,1,0,0,1],[0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
[[1,0,0,0,1,0,0,0,0],[0,1,0,0,0,1,0,0,0],[0,0,1,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0,0],[0,0,0,0,0,1,0,1,0],[0,0,0,0,0,0,1,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
Non-Вейр:
[[0]]
[[1,0],[1,1]]
[[1,0,0,1,0,0],[0,1,0,0,0,0],[0,0,1,0,0,1],[0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1]]
[[1,0,1,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,1]]
[[1,0,0,1,0,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,1,0,0,1,0,0,0],[0,0,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0,0],[0,0,0,0,0,1,0,1,0],[0,0,0,0,0,0,1,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
[[1,0,0,1,0,0,0,0,0],[0,1,0,0,1,0,0,0,0],[0,0,1,0,0,1,0,0,0],[0,0,0,1,0,0,0,0,0],[0,0,0,0,1,0,1,0,0],[0,0,0,0,0,1,0,1,0],[0,0,0,0,0,0,1,0,1],[0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,1]]
. Я думаю, что это ложно (но мой ответ не может определить его как таковой).