#include #include int m,n,meg=0,vx,vy,gert; char col,map[400][400]; int imap[400][400][2]; int hely; void Init(); void fill(int x,int y, int ert,char color); void hid(int x,int y); int main() { int type,i,j; hely=1; scanf("%d",&type); scanf("%d%d",&m,&n); Init(); char s[400]; gets(s); for(i=0;imeg)meg=gert; } printf("%d",meg); } else { for(i=0;i0)if((map[x-1][y]==color)&&(imap[x-1][y][0]==0))fill(x-1,y,ert+1,color); if(x0)if((map[x][y-1]==color)&&(imap[x][y-1][0]==0))fill(x,y-1,ert+1,color); if(y0)if(map[x-1][y]!=map[x][y]) { ind[0]='1'; ert=imap[x-1][y][0]+1; if(x0)if((map[x-1][y]==map[x][y-1])&&(imap[x-1][y][1]!=imap[x][y-1][1])) {ert=ert+imap[x][y-1][0];ind[2]='1';} if(ymeg) { vx=x; vy=y; meg=ert; col=map[x-1][y]; } else if ((ert==meg)&&(col>map[x-1][y])) { vx=x; vy=y; meg=ert; col=map[x-1][y]; } } if(x0)if((map[x+1][y]==map[x][y-1])&&(imap[x+1][y][1]!=imap[x][y-1][1])) {ert=ert+imap[x][y-1][0];ind[2]='1';} if(ymeg) { vx=x; vy=y; meg=ert; col=map[x+1][y]; } else if ((ert==meg)&&(col>map[x+1][y])) { vx=x; vy=y; meg=ert; col=map[x+1][y]; } } if(y>0)if(ind[2]=='0')if(map[x][y-1]!=map[x][y]) { ind[2]='1'; ert=imap[x][y-1][0]+1; if(ymeg) { vx=x; vy=y; meg=ert; col=map[x][y-1]; } else if ((ert==meg)&&(col>map[x][y-1])) { vx=x; vy=y; meg=ert; col=map[x][y-1]; } } if(ymeg) { vx=x; vy=y; meg=ert; col=map[x][y+1]; } else if ((ert==meg)&&(col>map[x][y+1])) { vx=x; vy=y; meg=ert; col=map[x][y+1]; } } }