void dfs(int i, int j, vector<vector<int>>& matrix, int cur) { if (i < 0 || i >= matrix.size() || j < 0 || j >= matrix[0].size() || matrix[i][j] != cur) return; temp.emplace_back(matrix[i][j]); matrix[i][j] = -1; for (int k = 0; k < 4; k++) { int newx = i + dx[k]; int newy = j + dy[k]; dfs(newx, newy, matrix, cur); } } };