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);         }     } };