下面介绍bfs的模板。
解决实际应用的话就在模板上添画就可以了。
void dfs(int x,int y){
vis[x][y]=true;
if(x<0||x>N||y<0||y>M) return;
for(int i=1;i<=8;i++){
if(!vis[x+dirx[i]][y+diry[i]]&&matr[x+dirx[i]][y+diry[i]]==1)
dfs(x+dirx[i],y+diry[i]);
vis[x+dirx[i]][y+diry[i]]=true;
}
}