Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <string>#include <cstring>#include <fstream>#include <functional>#include <algorithm>#include <ctime>#include <cmath>#include <vector>#include <queue>#include <map>#include <sstream>#include <unordered_set>#include <unordered_map>#include <sstream>#include <set>using namespace std;int mmp[110][110], N, M, X , Y;bool vis[110][110];int dirs[4][2] = { 1, 0, 0, 1, -1, 0, 0, -1 };vector<pair<int, int> > all;bool IN(int x,int y){return x >= 0 && x < N&&y >= 0 && y < M;}void dfs(int x,int y){if (IN(x, y) && mmp[x][y] == mmp[X][Y] && !vis[x][y] ){vis[x][y] = 1;all.push_back(make_pair(x, y));