도전
양의 정수 행렬이 주어지면 산의 "고리"가 있는지 확인하십시오. 이 문제에 대한 공식적인 정의는 다음과 같습니다. 양의 정수의 행렬이 주어지면, n
고리에 n
둘러싸인 모든 세포가 그보다 작거나 같도록 엄밀히 큰 행렬에 세포의 닫힌 고리가있는 양의 정수 가 있습니까? 에 n
.
진실한 예를 들어 보자.
3 4 5 3
3 1 2 3
4 2 1 3
4 3 6 5
우리가 다음 n
으로 설정 하면 2
:
1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1
우리가 분명히 볼 수 있듯이 1
가장자리를 따라 s가 고리를 형성합니다.
우리는 링을 컬렉션의 인접 셀이 그리드의 (가장자리 또는 모퉁이) 인접한 셀의 정렬 된 컬렉션으로 정의합니다. 또한, 고리는 그 안에 적어도 하나의 세포를 포함해야합니다. 즉, 컬렉션의 셀을 제외하고 컬렉션의 셀을 절대로 통과하지 않고 전체 매트릭스를 에지 전용 BFS-floodfill하려고하면 적어도 하나의 셀이 없어야합니다.
확실한 테스트 사례
4 7 6 5 8 -> 1 1 1 1 1
6 2 3 1 5 -> 1 0 0 0 1 (n = 3)
6 3 2 1 5 -> 1 0 0 0 1
7 5 7 8 6 -> 1 1 1 1 1
1 3 2 3 2
1 6 5 7 2
1 7 3 7 4
1 6 8 4 6
1 3 1
3 1 3
1 3 1
7 5 8 7 5 7 8 -> if you have n = 4, you get an interesting ridge shape around the top and right of the grid
8 4 4 2 4 2 7
6 1 8 8 7 2 7
5 4 7 2 5 3 5
5 6 5 1 6 4 5
3 2 3 2 7 4 8
4 4 6 7 7 2 5
3 2 8 2 2 2 8
2 4 8 8 6 8 8
5 7 6 8 6 8 7 -> there is an island in the outer ring (n = 4), but the island is a ring
5 3 2 4 2 4 7
6 3 7 8 5 1 5
8 2 5 2 8 2 7
8 3 8 8 8 4 7
6 1 4 1 1 2 8
5 5 5 5 7 8 7
150 170 150
170 160 170
150 170 150
거짓 테스트 사례
1 2 3 2 1 -> this is just a single mountain if you picture it graphcially
2 3 4 3 2
3 4 5 4 3
2 3 4 3 2
1 2 3 2 1
4 5 4 3 2 -> this is an off-centered mountain
5 6 5 4 3
4 5 4 3 2
3 4 3 2 1
1 1 1 1 1 -> this is four mountains, but they don't join together to form a ring
1 2 1 2 1
1 1 1 1 1
1 2 1 2 1
1 1 1 1 1
3 3 3 3 3 -> there is a ring formed by the `3`s, but the `4` in the middle is taller so it doesn't qualify as a mountain ring
3 1 1 1 3
3 1 4 1 3
3 1 1 1 3
3 3 3 3 3
3 4 4 4 3
4 4 3 4 4
3 3 3 3 4
4 4 3 4 4
3 4 4 4 3
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
22 23 24 25 26
규칙
- 표준 허점 적용
- 이것은 code-golf 이므로 각 언어에서 가장 짧은 바이트 단위 답변이 해당 언어의 승자로 선언됩니다. 답변이 없습니다.
- 입력 값은 양의 정수로 구성된 합리적인 형식으로 간주 될 수 있습니다.
- 출력은 [true] 또는 [false]를 나타내는 2 개의 합리적이고 일관된 고유 값으로 제공 될 수 있습니다.
n
세 번째 "truthy"테스트 케이스는 실제로 truthy입니까? [1,2] ?