입력:
- 정수
n
- 두 개의 동일한 크기의 정사각 행렬 (너비 / 높이는 배수 임
n
)
산출:
자신의 선택의 두 가지 값, 하나 개 truthy 결과에 대한 존재 등 네 falsey 결과에 대해 하나 (하나 1/0
대신 true/false
자바와 같은 언어에 대한 올바른 출력에도 불구하고 있습니다 그들은 공식 truthy / falsey 값을 고려하지 않는 ).
진실 / 거짓 출력은 n by n
한 행렬에서 크기 블록을 다른 행렬과 동일하게 정렬 할 수 있는지 여부를 나타냅니다 .
예:
입력:
Matrix 1:
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 8 7 6 5 4
3 2 1 0 9 8
1 1 1 1 1 1
Matrix 2:
3 2 9 8 7 8
1 1 1 1 5 4
3 4 5 6 1 0
9 0 7 6 1 1
5 6 1 2 3 4
1 2 7 8 9 8
Integer n:
2
산출: truthy
왜?
행렬을 블록으로 분할하면 한 행렬의 2 by 2
모든 블록이 다른 행렬에서도 발견 될 수 있습니다.
Matrix 1:
1 2 | 3 4 | 5 6
7 8 | 9 0 | 1 2
---------------
3 4 | 5 6 | 7 8
9 8 | 7 6 | 5 4
---------------
3 2 | 1 0 | 9 8
1 1 | 1 1 | 1 1
Matrix 2:
3 2 | 9 8 | 7 8
1 1 | 1 1 | 5 4
---------------
3 4 | 5 6 | 1 0
9 0 | 7 6 | 1 1
---------------
5 6 | 1 2 | 3 4
1 2 | 7 8 | 9 8
도전 규칙 :
- 행렬에 음이 아닌 숫자 만 포함한다고 가정 할 수 있습니다 (range
[0,9]
) - 행렬의 너비 / 높이가 같고
n
n
범위 안에[1, 50]
있고 행렬의 너비 / 높이는 범위 안에 있다고 가정 할 수 있습니다.[1,100]
.- 의 개별 블록은 블록으로
n by n
분할 될 때 행렬이 서로의 순열인지를 결정하기 위해 한 번만 사용할 수 있습니다n by n
. n by n
동일한 블록이 여러 개있을 수 있습니다 .- 의
n by n
블록으로 분할 될 때 두 행렬이 서로 순열인지 검사 할 때 블록은 동일한 방향으로 유지됩니다n by n
.
일반적인 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙 은 기본 I / O 규칙으로 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트와 링크를 추가하십시오 (예 : TIO ).
- 또한 답변에 대한 설명을 추가하는 것이 좋습니다.
테스트 사례 :
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 5 6 3 2 9 8 7 8 2
7 8 9 0 1 2 1 1 1 1 5 4
3 4 5 6 7 8 3 4 5 6 1 0
9 8 7 6 5 4 9 0 7 6 1 1
3 2 1 0 9 8 5 6 1 2 3 4
1 1 1 1 1 1 1 2 7 8 9 8
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 5 6 3 2 9 8 7 8 1
7 8 9 0 1 2 1 1 1 1 5 4
3 4 5 6 7 8 3 4 5 6 1 0
9 8 7 6 5 4 9 0 7 6 1 1
3 2 1 0 9 8 5 6 1 2 3 4
1 1 1 1 1 1 1 2 7 8 9 8
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 5 6 3 2 9 8 7 8 3
7 8 9 0 1 2 1 1 1 1 5 4
3 4 5 6 7 8 3 4 5 6 1 0
9 8 7 6 5 4 9 0 7 6 1 1
3 2 1 0 9 8 5 6 1 2 3 4
1 1 1 1 1 1 1 2 7 8 9 8
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 1 2 3 4 4
2 3 4 5 2 3 4 5
3 4 5 6 3 4 5 6
4 5 6 7 4 5 6 7
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 3 4 3 4 2
2 3 4 5 4 5 4 5
3 4 5 6 1 2 5 6
4 5 6 7 2 3 6 6
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 2 3 1
3 4 1 1
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
0 8 1
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 1 2 1 2 2
5 6 7 8 5 6 5 6
9 0 0 9 0 9 9 0
4 3 2 1 2 1 4 3
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 1 2 9 5 1 2 2
3 4 3 4 7 7 3 4
8 3 9 5 1 2 8 3
6 1 7 7 3 4 6 1
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 0 2 0 0 3 1 1 1 0 0 3 2
1 1 1 1 1 1 2 0 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 5 5 5
Output:
falsey
[ [ 0 ] ], [ [ 25 ] ], 1
있습니까? You can assume the matrices will only contain non-negative digits (range [0,9])
매트릭스 값이 0과 9 사이에 불과하다는 것을 알고 있습니까?
[0,9]
. 나중에 샌드 박스에서 범위 에 대한 규칙을 추가했습니다 . 테스트 사례를로 변경했습니다 [[0]],[[8]]
.