社区讨论

急急急,P1451 求细胞数量 全MLE求调

学术版参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lyu990b2
此快照首次捕获于
2024/07/20 22:59
2 年前
此快照最后确认于
2024/07/21 09:18
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1001;
int n,m,cnt;
char q[N][N];
int g[N][N];//位置
int v[N][N];//步数
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};//右下左上
void bfs(int x,int y)
{
	g[x][y]=0;
	for (int i=0;i<4;i++)
    {
		int xx=x+dx[i];
		int yy=y+dy[i];
		if (xx>=0&&xx<n&&yy>=0&&yy<m&&g[xx][yy]!=0)
		{
			bfs(x,y);
		}
	}
	
}
int main()
{
	cin>>n>>m;
	for (int i=0;i<n;i++)
	{
		for (int j=0;j<m;j++)
		{
			scanf("%1d",&g[i][j]);
		}
	}
	for (int i=0;i<n;i++)
	{
		for (int j=0;j<m;j++)
		{
			if (g[i][j]!=0)
			{
				bfs(i,j);
			    cnt++;
			}
		}
	}
	cout<<cnt;
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...