细胞BFS求助
  • 板块学术版
  • 楼主刘芝麻
  • 当前回复7
  • 已保存回复7
  • 发布时间2020/7/15 11:56
  • 上次更新2023/11/6 23:06:27
查看原帖
细胞BFS求助
208269
刘芝麻楼主2020/7/15 11:56
#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,ans,q[100000],w[100000]; 
char a[1500][1500];
int b[4][2]={{0,-1},{0,1},{1,0},{-1,0}};
int bfs(int x,int y)
{
  int xx=0,yy=0,h=0,t=0,i=0;
  ans++;
  a[x][y]='0';
  q[1]=x; 
  w[1]=y;
  h=0;
  t=1;
  while (h<t)
    {
    	h++;
    	for (i=0;i<4;i++)
    	{
    		xx=q[t]+b[i][0];yy=w[t]+b[i][1];
    		if (a[xx][yy]>'0'&&a[xx][yy]<='9') 
    		{
    			t++;
    			q[t]=xx;
				w[t]=yy;
				a[xx][yy]='0';
			}
		}
	}	
}
int main()
{
	scanf("%d %d",&n,&m);
	for (i=1;i<=n;i++)
	  scanf("%s",a[i]+1);
    for (i=1;i<=n;i++)
      for (j=1;j<=m;j++)
        if (a[i][j]!='0')
        {
        	bfs(i,j);
		}
	printf("%d",ans);	
return 0;
}

WA了7个点,但我找不出哪错了,求大佬帮忙

2020/7/15 11:56
加载中...