#include #include #include using namespace std; int a[401][401]; char c[401][401]; int n,i,m; queue< pair > q; pair punct; int ok(int i,int j,int n,int m) { if(i>=0&&i=0&&j>type; cin>>n>>m; for(i=0;i>c[i][j]; } void rezolva(int xi,int yi, char col,int &maxi) { q.push(make_pair(xi,yi)); c[xi][yi]='.'; int nr = 0; while(!q.empty()) { punct = q.front(); int px = punct.first; int py = punct.second; if(ok(px+1,py,n,m) && c[px+1][py]==col) { c[px+1][py] = '.'; q.push(make_pair(px+1,py)); nr++; } if(ok(px,py+1,n,m) && c[px][py+1]==col) { c[px][py+1] = '.'; q.push(make_pair(px,py+1)); nr++; } if(ok(px,py-1,n,m) && c[px][py-1]==col) { c[px][py-1] = '.'; q.push(make_pair(px,py-1)); nr++; } if(ok(px-1,py,n,m) && c[px-1][py]==col) { c[px-1][py] = '.'; q.push(make_pair(px-1,py)); nr++; } q.pop(); } if(nr>maxi) maxi = nr; } int main() { int tip,j,maxim=0; citeste(n,m,tip); if(tip==1) { for(i=0;i