求细胞数量
  • 板块学术版
  • 楼主Lion0803
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/9/3 09:54
  • 上次更新2023/11/2 23:43:51
查看原帖
求细胞数量
844124
Lion0803楼主2023/9/3 09:54

样例过了但是WA:https://www.luogu.com.cn/problem/P1451

#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
char a[500][500];
void f_bfs1()
{
	for(int h=0;h<n*m;h++)
	{
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				if(a[i][j]=='!')
				{
					if(a[i-1][j]=='$'||a[i][j-1]=='$'||a[i+1][j]=='$'||a[i][j+1]=='$')
						a[i][j]='$';
				}
			}
		}
	}
}
int main()
{
	char c;
	ans=0;
	scanf("%d %d",&n,&m);
	for(int i=0;i<n;i++)
	{
		getchar();
		for(int j=0;j<m;j++)
		{
			c=getchar();
			if(c=='0')
				a[i][j]=' ';
			else
				a[i][j]='!';
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(a[i][j]=='!')
			{
				a[i][j]='$';
				f_bfs1();
				ans+=1;
			}
		}
	}
	printf("%d",ans);
	return 0;
}
2023/9/3 09:54
加载中...