我正在进行一项编程挑战,其中我必须找到被其包围的零个数。
我已经给出:
行数和列数r
和c
n
的位置数量
n
位置i j
其中i
是行的索引,j
是列的索引
例如,如果我有
011110 010001 010001 001110 000000
然后我返回6
有3个测试输入集。前两组r, c <= 1000
。我设法通过使用DFS传递前两个集合来cout数量的零,这些零没有被一个(从边界开始)包围。因此,z = r * c - k - n
的数量为k
,其中r, c <= 10^18
是未被1包围的零的数量。
但是在第三种情况n
中,如果我在开头创建二维向量,它甚至不适合记忆。我还注意到n <= 10^6
在所有集合中都相对较小({{1}})。
我的问题是如何为所有测试集解决这个问题?
答案 0 :(得分:0)
Counting Rooms While Knowing Where Walls Are在这里您可以找到计算被墙围绕的房间的结果(在您的情况下&#34; 1&#34;)您必须更改代码,它计算&的数量#34; 0&#34; S。但这个想法是一样的。通过bfs或dfs制作。