(관련에 대한 질문이 있습니다 무한 sandpiles 및 sandpiles의 발견 정체성 요소 .)
음이 아닌 정수의 행렬이 주어지면 동일한 차원이지만 행렬이 뒤집힌 행렬을 반환합니다 .
- 행렬에 4보다 큰 값이 포함되어 있지 않으면 반환하십시오.
- 3보다 큰 모든 "셀"은 4 씩 감소하며, 직접 인접한 모든 셀 (위, 아래, 왼쪽 및 오른쪽)은 존재하는 경우 증가합니다.
- 고토 1.
예 :
0 1 0 0 2 0
2 4 0 -> 3 0 1
0 0 3 0 1 3
1 2 3 2 3 4 2 5 1 4 1 2 0 3 3 0 3 3 0 3 3
4 5 6 -> 2 4 4 -> 4 2 3 -> 0 5 4 -> 3 2 1 -> 3 3 1 -> 3 3 2
7 8 9 5 7 7 2 6 5 4 3 2 0 5 3 1 1 4 1 2 0
(최종 결과 만 반환하면됩니다. 도달 한 경로는 여기에 표시된 경로와 다를 수 있습니다. 토핑 작업을 수행하는 순서는 중요하지 않으며 모두 동일한 결과를 가져옵니다.)
더 자세한 설명과 동기 부여 는 Abelian sandpile 모델 에 대한 Numberphile 비디오 또는 Wikipedia 기사를 참조하십시오 .
규칙 :
- 표준 방식으로 입력 및 출력 할 수 있습니다.
- 허점 은 금지되어 있습니다
- 입력 및 출력은 다음과 같습니다.
- 중첩 된 목록 :
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
- 간단한 목록
[1, 2, 3, 4, 5, 6, 7, 8, 9]
과 모양 - 네이티브 매트릭스 타입
- 예를 들어 문자열
1 2 3\n4 5 6\n7 8 9
- 또는 귀하의 언어로 작동하는 다른 모든 것.
- 중첩 된 목록 :
- 입력과 출력은 같은 형식이어야합니다
- 입력은 여기에 표시된 것보다 큰 수를 포함 할 수 있지만 크기는 언어 제한에 따라 제한 될 수 있습니다 (해당되는 경우 MAXINT 해당).
- 매트릭스는 임의의 형상을 가질 수있다 (예를 들어 1x1, 2x2, 3x3, 4x4, 2x7, 11x3, ...)
- 모양이 0xN 또는 Nx0 인 경우를 처리 할 필요가 없습니다.
테스트 케이스
[[2, 5, 4], [8, 6, 4], [1, 2, 3]] -> [[3, 3, 0], [1, 2, 2], [1, 3, 2]]
[[0, 0, 2], [1, 3, 3], [0, 0, 0]] -> [[0, 0, 2], [1, 3, 3], [0, 0, 0]]
[[9, 9, 9], [9, 9, 9], [9, 9, 9]] -> [[1, 3, 1], [3, 1, 3], [1, 3, 1]]
[[4, 5], [2, 3]] -> [[2, 3], [0, 1]]
[[2, 3, 5], [2, 2, 0]] -> [[3, 0, 2], [2, 3, 1]]
[[7]] -> [[3]]
이것은 가장 짧은 코드 (언어 당)가이기는 codegolf 입니다.