import java.util.*;
public class Solution {
// 多源dfs
public int solve (char[][] grid) {
int ans = 0;
for(int i = 0; i < grid.length; i++){
for(int j = 0; j < grid[0].length; j++){
if(grid[i][j] == '1'){
ans++;
dfs(grid,i,j);
}
}
}
return ans;
}
private void dfs(char[][] grid,int x,int y){
if(x < 0 || x >= grid.length || y < 0 || y >= grid[0].length || grid[x][y] != '1') return;
grid[x][y] = '2';
dfs(grid,x+1,y);
dfs(grid,x-1,y);
dfs(grid,x,y+1);
dfs(grid,x,y-1);
}
}