P1451 求细胞数量 (样例都没过的代码)
  • 板块学术版
  • 楼主credente
  • 当前回复21
  • 已保存回复22
  • 发布时间2024/9/16 08:21
  • 上次更新2024/9/16 11:59:07
查看原帖
P1451 求细胞数量 (样例都没过的代码)
1285014
credente楼主2024/9/16 08:21

rt

#include<bits/stdc++.h>
using namespace std;

int n,m;

char a[105][105];
int ans=0;
bool vis[105][105];

int dx[]={1,-1,0,0};
int dy[]={0,0,1,-1};

void dfs(int x,int y)
{
	vis[x][y]=true;
	for(int i=0;i<4;i++)
	{
		int tx=x+dx[i];
		int ty=y+dy[i];
		if(!a[tx][ty]||vis[tx][ty])
			continue;
		dfs(tx,ty);
	}
}

int main()
{
	
	cin >> n >> m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin >> a[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			if(a[i][j]&&!vis[i][j])
			{
				ans++;
				dfs(i,j);
			}
		}
	}
	cout << ans << endl;
	return 0;
}
2024/9/16 08:21
加载中...