测试2d数组的渗透(联合查找)

时间:2015-11-17 04:28:48

标签: c++ arrays multidimensional-array union-find

我有一个大小为 n 的二维数组,它分别代表闭合和开放空格的1和0。

现在我需要测试2d数组以查看它是否渗透,我不知道如何解决这个问题。

我有以下代码用于创建数组并随机将每个点分配给1或0。

int** grid = new int*[boardSize];
for (int i = 0; i < boardSize; ++i) {
    grid[i] = new int[boardSize];
}

for (int i = 0; i < boardSize; i++) {

    for (int j = 0; j < boardSize; j++) {
        if (i == 0) {
            grid[i][j] = 1;
        }
        else if (i == boardSize - 1) {
            grid[i][j] = 1;
        }
        else if (j == 0) {
            grid[i][j] = 1;
        }
        else if (j == boardSize - 1) {
            grid[i][j] = 1;
        }
        else
            grid[i][j] = random(delta);
    }
}

grid[0][enter] = 0;
grid[boardSize - 1][exit] = 0;

这将创建一个带有封闭边框(1s)的数组,并在顶部和底部放置2个随机入口/出口点(0s)。只有我缺少的部分是测试渗透。

感谢任何帮助,谢谢!

0 个答案:

没有答案