#include #include #include #include #include #include using namespace std; /* #include ifstream cin("pharm.in"); ofstream cout("pharm.out"); */ const int MAX_N = 402; queue > q; vector > v; char a[MAX_N][MAX_N]; int dim[MAX_N][MAX_N]; int mp[MAX_N][MAX_N],nr; bool viz[MAX_N][MAX_N]; int i,j,n,m,tip,lmax; char culoare[5]; int este[5]; int dx[]={0,0,-1,1}; int dy[]={1,-1,0,0}; int sol=1; int xi=1; int yj=1; char col; bool ok(const int &i, const int &j){ return (i>=1 && i<=n && j>=1 && j<=m); } bool ok2(int limit, int cc){ for(int j=1;j<=limit;j++) if(este[j]==cc) return 0; return 1; } int bfs(int xi, int yj){ int p=0; viz[xi][yj]=1; q.push(make_pair(xi,yj)); while(v.size()) v.pop_back(); while(q.size()) { int x=q.front().first; int y=q.front().second; q.pop(); v.push_back(make_pair(x,y)); for(int j=0;j<4;j++) { int xn=x+dx[j]; int yn=y+dy[j]; if(ok(xn,yn) && !viz[xn][yn] && a[x][y]==a[xn][yn]) { viz[xn][yn]=1; q.push(make_pair(xn,yn)); } } } p=v.size(); ++nr; for(int j=0;j>tip>>n>>m; for(i=1;i<=n;i++) cin>>(a[i]+1); for(i=1;i<=n;i++) for(j=1;j<=m;j++) viz[i][j]=0; for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(!viz[i][j]){ int w=bfs(i,j); if(w>lmax){ lmax=w; sol=w; xi=i; yj=j; col=a[i][j]; } } if(tip==1) cout<sol){ sol=suma; xi=i; yj=j; col=culoare[aux]; } } } cout<