37 lines
989 B
Text
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;
|
|
}
|
|
|