细胞数量

#include<bits/stdc++.h>
using namespace std;
int h[10001][3];
int n,m,num=0;
int dj[101][101];
int u[4]={0,1,0,-1};
int v[4]={1,0,-1,0};
void gs(int p,int q)
{

int t=0,w=1,x,y;
num++;dj[p][q]=0;
h[1][1]=p;h[1][2]=q;
do
{ t++;
for(int k=0;k<=3;k++)
{

x=h[t][1]+u[k];
y=h[t][2]+v[k];
if(x>=0&&x<n&&y>=0&&y<m&&dj[x][y])
{
w++;
dj[x][y]=0;
h[w][1]=x;
h[w][2]=y;
}
}
}while(t<w);

}
int main()
{
scanf("%d%d\n",&n,&m);
char s[101];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
dj[i][j]=1;
for(int i=0;i<n;i++)
{
gets(s);
for(int j=0;j<m;j++)
{
if(s[j]=='0')dj[i][j]=0;
}
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(dj[i][j])
{
gs(i,j);
}
cout<<num;
}

上一篇:DJ软件djay pro 2使用技巧


下一篇:C# selenium 下载某DJ音乐网音频