int SXBJS(int JZ[15][15],int n,int m)
{
int i=1,j=1;
int x,y;
int js=0; //数细胞数目
JD *rear; //声明队列
CSHDL(rear); //初始化队列
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
bj[i][j]=0; //未访问为0
}
}
RD(rear,i,j); //入队
while(DKPD(rear)==1) //队不为空循环
{
CD(rear,x,y); //出队
bj[x][y]=1; //访问为1
if(y+1>m)
{
JZ[x][y+1]=JZ[x][y];
}
if(y-1<=0)
{
JZ[x][y-1]=JZ[x][y];
}
if(x+1>n)
{
JZ[x+1][y]=JZ[x][y];
}
if(x-1<=0)
{
JZ[x-1][y]=JZ[x][y];
}
if(JZ[x][y+1]==JZ[x][y]&&JZ[x+1][y]==JZ[x][y]&&JZ[x][y-1]==JZ[x][y]&&JZ[x-1][y]==JZ[x][y])
{
js++;
}
if(y+1<=m&&bj[x][y+1]==0)
{
RD(rear,x,y+1);
}
if(x+1<=n&&bj[x+1][y]==0)
{
RD(rear,x+1,y);
}
if(y-1>0&&bj[x][y-1]==0)
{
RD(rear,x,y-1);
}
if(x-1>0&&bj[x-1][y]==0)
{
RD(rear,x-1,y);
}
}
return js;
}