CS153/hw6/hw4programs/sp22_tests/islands.oat
jmug ee01a8f5b2 Change hw6 to an unsolved version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-24 23:10:01 -08:00

37 lines
989 B
Text

global islands = new int[][] {
new int[] {0, 1, 0, 0, 0, 1, 0},
new int[] {1, 1, 0, 1, 1, 1, 0},
new int[] {1, 0, 0, 0, 0, 0, 0},
new int[] {0, 0, 1, 1, 1, 0, 1},
new int[] {0, 0, 1, 1, 0, 0, 0},
new int[] {0, 0, 0, 1, 0, 0, 0}
};
void dfs(int i, int j) {
if (i >= 0 & i < 6 & j >= 0 & j < 7) {
if (islands[i][j] != 0) {
islands[i][j] = 0;
dfs(i - 1, j);
dfs(i + 1, j);
dfs(i, j + 1);
dfs(i, j - 1);
}
}
return;
}
int program(int argc, string[] argv) {
var num_islands = 0;
for (var i = 0; i < 6; i = i + 1;) {
for (var j = 0; j < 7; j = j + 1;) {
if (islands[i][j] != 0) {
num_islands = num_islands + 1;
dfs(i, j);
}
}
}
return num_islands;
}