소개
이러한 과제의 목적을 위해, 우리는 정의 할 이웃 하는 소자의 정사각형 행렬에 (되도록 E = I , J )의 엔트리 모두 같은 수평 또는 수직 대각선 바로 인접 E (즉, 그들은 감싸지 않고 "서라운드" E ).
어린이의 경우 A i 이웃에 대한 공식적인 정의 , 위해MATIX(0 인덱스)이다 :
하자 말 그 인덱스에있는 요소
직무
충분한 이야기 : 양의 정수로 구성된 정사각 행렬 이 주어지면 다음 중 하나를 출력하십시오.
- 이웃 가 적대적 있도록 에서 일부 인덱스 를 차지하는 모든 항목을 나타내는 요소의 중복 된 목록 (중복되거나 축소되지 않은) .M N i ,
- 이웃이 적대적인 위치에 이 있고 그렇지 않으면 이 있는 부울 행렬입니다 ( 과 대신 다른 일관된 값을 선택할 수 있음 ).0 0 1
- 적대적인 이웃을 나타내는 인덱스 쌍 의 목록 .
Physica의 참조 구현 – I / O에 대한 Python 구문도 지원합니다 . 이러한 허점 은 기본적으로 금지되어 있음을 유의하면서 모든 표준 방법 과 합리적인 형식으로 입력하고 출력 할 수 있습니다 . 이것은 코드 골프이므로 모든 언어에서 가장 짧은 바이트 코드가 이깁니다!
또한 행렬 크기를 입력으로 사용할 수도 있고 행렬이 항상 정사각형이므로 평면 목록으로 추가 할 수도 있습니다.
예
다음 매트릭스를 고려하십시오.
각 요소의 해당 이웃은 다음과 같습니다.
i j – E -> Neighbours | All coprime to E?
|
0 0 – 64 -> {10; 27; 22} | False
0 1 – 10 -> {64; 14; 27; 22; 32} | False
0 2 – 14 -> {10; 22; 32} | False
1 0 – 27 -> {64; 10; 22; 53; 58} | True
1 1 – 22 -> {64; 10; 14; 27; 32; 53; 58; 36} | False
1 2 – 32 -> {10; 14; 22; 58; 36} | False
2 0 – 53 -> {27; 22; 58} | True
2 1 – 58 -> {27; 22; 32; 53; 36} | False
2 2 – 36 -> {22; 32; 58} | False
따라서 출력은 다음 중 하나 여야합니다.
{27; 53}
{{0; 0; 0}; {1; 0; 0}; {1; 0; 0}}
{(1; 0); (2; 0)}
테스트 사례
Input –> Version 1 | Version 2 | Version 3
[[36, 94], [24, 69]] ->
[]
[[0, 0], [0, 0]]
[]
[[38, 77, 11], [17, 51, 32], [66, 78, 19]] –>
[38, 19]
[[1, 0, 0], [0, 0, 0], [0, 0, 1]]
[(0, 0), (2, 2)]
[[64, 10, 14], [27, 22, 32], [53, 58, 36]] ->
[27, 53]
[[0, 0, 0], [1, 0, 0], [1, 0, 0]]
[(1, 0), (2, 0)]
[[9, 9, 9], [9, 3, 9], [9, 9, 9]] ->
[]
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[]
[[1, 1, 1], [1, 1, 1], [1, 1, 1]] ->
[1, 1, 1, 1, 1, 1, 1, 1, 1] or [1]
[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
[[35, 85, 30, 71], [10, 54, 55, 73], [80, 78, 47, 2], [33, 68, 62, 29]] ->
[71, 73, 47, 29]
[[0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 0, 1]]
[(0, 3), (1, 3), (2, 2), (3, 3)]