vector<vector<int>> grid;
vector<vector<int>> visited;
void dfs(int x, int y) {
static int dx[] = {-1, 0, 1, 0};
static int dy[] = {0, 1, 0, -1};
visited[x][y] = true; // 标记已访问
for(int i = 0; i < 4; i++) { // 对上下左右四个邻接点进行递归dfs
int tx = x + dx[i];
int ty = y + dy[i];
if(tx < 0 || ty < 0 || tx >= grid.size() || ty >= grid[0].size() || visited[x][y]) {
continue; // 出界或已访问过
} else {
dfs(tx, ty);
}
}
}