#include #include int m,n,meg=0,vx,vy,gert; char col,map[400][400]; int imap[400][400]; void Init(); void fill(int x,int y, int ert,char color); void hid(int x,int y); int main() { int type,i,j; scanf("%d",&type); scanf("%d%d",&n,&m); 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))fill(x-1,y,ert+1,color); if(x0)if((map[x][y-1]==color)&&(imap[x][y-1]==0))fill(x,y-1,ert+1,color); if(y0)&&(x0)&&(ymeg) { meg=gert; vx=x; vy=y; col=map[x+1][y]; } } if(map[x][y]!=map[x-1][y]) { gert=0; fill(x,y,1,map[x-1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x-1][y]; } } if(map[x][y]!=map[x][y+1]) { gert=0; fill(x,y,1,map[x][y+1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y+1]; } } if(map[x][y]!=map[x][y-1]) { gert=0; fill(x,y,1,map[x][y-1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y-1]; } } } else { if(x==0) { if(y==0) { if(map[x][y]!=map[x+1][y]) { gert=0; fill(x,y,1,map[x+1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x+1][y]; } } if(map[x][y]!=map[x][y+1]) { gert=0; fill(x,y,1,map[x][y+1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y+1]; } } } else { if (y==m-1) { if(map[x][y]!=map[x+1][y]) { gert=0; fill(x,y,1,map[x+1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x+1][y]; } } if(map[x][y]!=map[x][y-1]) { gert=0; fill(x,y,1,map[x][y-1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y-1]; } } } else { if(map[x][y]!=map[x+1][y]) { gert=0; fill(x,y,1,map[x+1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x+1][y]; } } if(map[x][y]!=map[x][y-1]) { gert=0; fill(x,y,1,map[x][y-1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y-1]; } } if(map[x][y]!=map[x][y+1]) { gert=0; fill(x,y,1,map[x][y+1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y+1]; } } } } } else { if(x!=m-1) { if(y==0) { if(map[x][y]!=map[x+1][y]) { gert=0; fill(x,y,1,map[x+1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x+1][y]; } } if(map[x][y]!=map[x-1][y]) { gert=0; fill(x,y,1,map[x-1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x-1][y]; } } if(map[x][y]!=map[x][y+1]) { gert=0; fill(x,y,1,map[x][y+1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y+1]; } } } else { if(y==m-1) { if(map[x][y]!=map[x+1][y]) { gert=0; fill(x,y,1,map[x+1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x+1][y]; } } if(map[x][y]!=map[x-1][y]) { gert=0; fill(x,y,1,map[x-1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x-1][y]; } } if(map[x][y]!=map[x][y-1]) { gert=0; fill(x,y,1,map[x][y-1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y-1]; } } } } } else { if(y==0) { if(map[x][y]!=map[x-1][y]) { gert=0; fill(x,y,1,map[x-1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x-1][y]; } } if(map[x][y]!=map[x][y+1]) { gert=0; fill(x,y,1,map[x][y+1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y+1]; } } } else { if(y==m-1) { if(map[x][y]!=map[x-1][y]) { gert=0; fill(x,y,1,map[x-1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x-1][y]; } } if(map[x][y]!=map[x][y-1]) { gert=0; fill(x,y,1,map[x][y-1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y-1]; } } } else { if(map[x][y]!=map[x-1][y]) { gert=0; fill(x,y,1,map[x-1][y]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x-1][y]; } } if(map[x][y]!=map[x][y+1]) { gert=0; fill(x,y,1,map[x][y+1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y+1]; } } if(map[x][y]!=map[x][y-1]) { gert=0; fill(x,y,1,map[x][y-1]); if(gert>meg) { meg=gert; vx=x; vy=y; col=map[x][y-1]; } } } } } } } }