【发布时间】:2020-09-15 19:15:21
【问题描述】:
我们得到一个大小为 N 的矩阵,它完全用 0 填充,我们还得到一个坐标列表,其中包含一个岛屿外围的坐标。现在我们必须将岛屿(外围 + 属于岛屿一部分的区域)标记为 1。
我在想出解决这个问题的方法时遇到了麻烦,我想到了 bfs/dfs,但想不出一种方法来实现它。 (请假设只有 1 个岛并且输入正确,即所有输入坐标形成闭合形状并且有效
N = 5
coordinates =
0,2
1,1
1,3
2,0
2,4
3,1
3,3
4,2
所以这就是输出的样子---
0 1 2 3 4
0 0 0 1 0 0
1 0 1 1 1 0
2 1 1 1 1 1
3 0 1 1 1 0
4 0 0 1 0 0
所有标出的坐标和其中标出的方框是岛屿的一部分。
【问题讨论】:
标签: c++ algorithm c++11 matrix graph-algorithm