우리의 목적을 위해, 하나의 매트릭스 (또는 2 차원 배열) A를 고려하는된다 행렬 다른 매트릭스의 B 경우, A는 완전히에서 행과 열의 개수 제거함으로써 얻어 질 수 B를 . (참고 : 일부 소스는 다르거 나 제한적인 정의가 있습니다.)
예를 들면 다음과 같습니다.
A = [1 4 B = [1 2 3 4 5 6
2 1] 6 5 4 3 2 1
2 1 2 1 2 1
9 1 8 2 7 6]
B 에서 열 2, 3, 5, 6과 행 2, 4를 삭제 하여 A 를 얻을 수 있습니다 .
B = [1 2 3 4 5 6 [1 _ _ 4 _ _ [1 4 = A
6 5 4 3 2 1 --> _ _ _ _ _ _ --> 2 1]
2 1 2 1 2 1 2 _ _ 1 _ _
9 1 8 2 7 6] _ _ _ _ _ _]
참고 A가 아직의 행렬이고 B 모든 행의 모든 열 또는 경우 B가 유지된다 (또는 실제로 경우 A = B ).
도전
당신은 그것을 추측했다. 비어 있지 않은 두 정수 행렬 A 와 B가 주어지면 A 가 B 의 하위 행렬 인지 확인하십시오 .
STDIN (또는 가장 가까운 대안), 명령 행 인수 또는 함수 인수를 통해 입력을 받고 STDOUT (또는 가장 가까운 대안), 함수 리턴 값 또는 함수 (out) 매개 변수를 통해 결과를 출력하는 프로그램 또는 함수를 작성할 수 있습니다.
입력은 편리한 형식 일 수 있습니다. 행렬은 입력이 사전 처리되지 않는 한 중첩 된 목록, 두 개의 다른 구분 기호를 사용하는 문자열, 행렬의 차원과 함께 플랫 목록 등으로 제공 될 수 있습니다. 당신은 걸릴하도록 선택할 수 있습니다 B 제 을 한 당신의 선택은 일치로, 초. 행렬의 요소가 양수이고 256보다 작다고 가정 할 수 있습니다.
출력되어야 truthy 경우 , A는 의 서브 매트릭스이고 B가 와 falsy 그렇지. 특정 출력 값이 일치하지 않아도됩니다.
표준 코드 골프 규칙이 적용됩니다.
테스트 사례
각 테스트 사례는 별도의 줄에 A, B
있습니다.
진실한 사례 :
[[1]], [[1]]
[[149, 221]], [[177, 149, 44, 221]]
[[1, 1, 2], [1, 2, 2]], [[1, 1, 1, 2, 2, 2], [3, 1, 3, 2, 3, 2], [1, 1, 2, 2, 2, 2]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [4, 7, 6], [7, 8, 9], [1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[228, 66], [58, 228]], [[228, 66], [58, 228]]
[[1, 2], [2, 1]], [[1, 2, 2], [2, 1, 2], [2, 2, 1]]
[[136, 196], [252, 136]], [[136, 252, 210, 196, 79, 222], [222, 79, 196, 210, 252, 136], [252, 136, 252, 136, 252, 136], [180, 136, 56, 252, 158, 222]]
잘못된 경우 :
[[1]], [[2]]
[[224, 15]], [[144, 15, 12, 224]]
[[41], [150]], [[20, 41, 197, 150]]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[1, 2, 3], [7, 8, 9], [4, 5, 6]]
[[1, 2, 2], [2, 1, 2], [2, 2, 1]], [[1, 2], [2, 1]]
[[1, 2, 2], [2, 1, 2]], [[1, 2], [2, 1], [2, 2]]
[[1, 2], [3, 4]], [[5, 3, 4, 5], [2, 5, 5, 1], [4, 5, 5, 3], [5, 1, 2, 5]]
[[158, 112], [211, 211]], [[158, 211, 189, 112, 73, 8], [8, 73, 112, 189, 211, 158], [211, 158, 211, 158, 211, 158], [21, 158, 199, 211, 212, 8]]