정의
감안할 때 n x n
정방 행렬 , 우리는 그것을 호출 할 수있는 몇 가지가 존재하는 경우 정방 행렬 B 가 등을 AB = BA = I N 와 I n은 크기의 행렬 인 (주 대각선 행렬 들과 다른 것 ), 그리고 AB 그리고 BA 는 일반적인 행렬 곱셈을 나타냅니다 (나는 여기에 들어 가지 않을 것입니다-선형 대수 클래스를 가져 가십시오).invertible
n x n
n x n
1
0
그것에서, 우리는 호출 할 수있는 m x n
행렬 C가 totally invertible
모든 경우 k x k
의 서브 매트릭스 (아래 정의 됨) C가 모두 역함수이다 k > 1
, k <= (smaller of m,n)
.
서브 매트릭스는 원래의 매트릭스로부터 다수의 행 및 / 또는 열을 삭제 한 후 결과 매트릭스로 정의된다. 예를 들어, 아래 3x3
행렬 C 는 다음과 같이 첫 번째 행 과 가운데 열 을 제거하여 2x2
하위 행렬 C ' 로 변환 할 수 있습니다 .1 2 3
2 5 8
C = [[1 2 3]
[4 5 6] --> C' = [[4 6]
[7 8 9]] [7 9]]
서브 매트릭스 가능성은 여러 가지가 있으며, 위의 예는 단지 예일뿐입니다. 이 문제는 결과적인 하위 행렬이 k x k
정사각 행렬 인 경우에만 관심이 있습니다.
도전
입력 행렬이 주어지면 완전히 뒤집을 수 있는지 여부를 결정하십시오.
입력
- 단일 크기의 행렬
m x n
에서 임의의 적합한 형식 . - 일반성을 잃지 않으면 서
m <= n
또는m >= n
코드 중 골퍼에 해당하는 것으로 가정 하여 입력 할 수 있습니다 (즉, 원하는 경우 조옮김 작업을 무료로 얻을 수 있음). - 입력 행렬 크기는
3 x 3
언어보다 작을 수 없으며 언어가 처리 할 수있는 크기보다 크지 않습니다. - 입력 행렬은 Z + ( 양의 정수 ) 의 숫자 값으로 만 구성됩니다 .
출력
- truthy / falsey의 여부는 입력 매트릭스 용 완전 가역이다.
규칙
실시 예
Truthy
[[1 2 3]
[2 3 1]
[3 1 2]]
[[2 6 3]
[1 12 2]
[5 3 1]]
[[1 2 3 4]
[2 3 4 1]
[3 4 1 2]]
[[2 3 5 7 11]
[13 17 19 23 29]
[31 37 41 43 47]]
Falsey
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 6 2 55 3]
[4 5 5 5 6]
[9 3 7 10 4]
[7 1 8 23 9]]
[[2 3 6]
[1 2 12]
[1 1 6]]
[[8 2 12 13 2]
[12 7 13 12 13]
[8 1 12 13 5]]
6
, 구석에 없습니다 7
. 서투른 오타.
2 6 3; 1 12 2; 5 3 1
?