#include #include #include #include #include #include #include #include #include using namespace std; //ifstream fin("1.in"); //ofstream fout("1.out"); const int di[] = {0,0,-1,1}; const int dj[] = {1,-1,0,0}; int regionSize[30]; int n,m; int a[401][401]; int d[401][401]; bool used[401][401]; bool inside(int i, int j) { return i >= 1 && i <= n && j >=1 && j <=m; } int sol1; int nr; void dfs(int i, int j) { used[i][j] = true; regionSize[a[i][j]]++; ++nr; if(nr > sol1) { sol1 = nr; //fout<>t; char x; cin>>n>>m; for(int i = 1; i <= n;i ++) for(int j = 1; j <= m ; j ++) { cin>>x; a[i][j] = x-'a'; } for(int i = 1;i <=n;i++) for(int j =1;j<=m;j++) if(!used[i][j]) { nr = 0; dfs(i,j); //fout< sol && a[i-1][j] == a[i+1][j] && a[i][j] != a[i-1][j]) { sol = d[i-1][j] + d[i+1][j]; isol = i; jsol = j; colsol = a[i-1][j]; } if(inside(i,j-1) && inside(i,j+1) && d[i][j-1] + d[i][j+1] > sol && a[i][j-1] == a[i][j+1] && a[i][j] != a[i][j-1]) { sol = d[i][j-1] + d[i][j+1]; isol = i; jsol = j; colsol = a[i][j-1]; } } cout<