挑战
给定一个正整数矩阵,请确定山是否存在“环”。对此挑战的正式定义是:给定一个正整数矩阵,是否存在任何正整数,矩阵中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形成一个环。
我们将环定义为单元的有序集合,其中集合中的相邻单元在网格上也相邻(边或角)。此外,该环内部必须至少包含1个单元;也就是说,尝试仅边沿BFS填充整个矩阵(不包括集合中的单元),并且从不遍历集合中的一个单元,则必须至少丢失一个单元。
真实的测试案例
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
规则
- 适用标准漏洞
- 这是代码高尔夫球,因此每种语言中以字节为单位的最短答案被宣布为其语言的赢家。不接受任何答案。
- 对于正整数矩阵,输入可以采取任何合理形式
- 可以将输出指定为表示[true]或[false]的两个合理,一致,不同的值。
@EriktheOutgolfer 3s的环由角相邻。所以,是的。
—
user202729
n
第三个“真实的”测试案例而言,真实情况是什么?[1,2]?