蒟蒻救助,有没有大佬知道错哪啦?我感觉逻辑没什么问题鸭
查看原帖
蒟蒻救助,有没有大佬知道错哪啦?我感觉逻辑没什么问题鸭
1333507
Fxayah楼主2024/4/11 21:34
#include<stdio.h>

int n, m,a[101][101];
int dx[] = { 0,0,-1,1 };
int dy[] = { 1,-1,0,0 };
void dfs(int x, int y)
{
	a[x][y] = 1;
	for (int i = 0; i < 4; i++)
	{
		int nx = x + dx[i];
		int ny = y + dy[i];
		if (nx >= 1 && nx <= n && ny >= 1 && ny <= m)
		{
			if (a[nx][ny] == 0)
			{
				dfs(nx, ny);
			}
		}
	}
}

int main()
{
	scanf("%d %d", &n, &m);
	char x;
	int cnt = 0,i,j;
	for(i=1;i<=n;i++)
		for (j = 1; j <= m; j++)
		{
			scanf("%c ",&x);
			if (x == '0')a[i][j] = 1;
			else a[i][j] = 0;
		}
	for(i=1;i<=n;i++)
		for (j = 1; j <= m; j++)
		{
			if (a[i][j] == 0)
			{
				cnt++;
				dfs(i, j);
			}
		}
	printf("%d", cnt-1);
	return 0;
}```
2024/4/11 21:34
加载中...