为啥输入输出全对,但是全WA啊?谢谢兄弟们
查看原帖
为啥输入输出全对,但是全WA啊?谢谢兄弟们
819614
xubai66楼主2023/2/22 19:31

#include<bits/stdc++.h>
using namespace std;
int ans;
int n, m;
int a[1001][1001];
int u[1145][1145];
int dx[4]{ 1,-1,0,0 };
int dy[4]{ 0,0,1,-1 };
void dfs(int x, int y)
{
	u[x][y] = 1;
	for (int i = 0; i < 4; i++)
	{
		int xx = x + dx[i];
		int yy = y + dy[i];
		if (a[xx][yy] == 0 || u[xx][yy] == 1)continue;
		dfs(xx, yy);
	}
}
int main()
{
	ios::sync_with_stdio(false);
	memset(a, 0, sizeof(a));
	cin >> n>>m;
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			scanf("%1d", &a[i][j]);
		}
	}

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= m; j++)
		{
			if(a[i][j] != 0 && u[i][j] != 1)
			{
				dfs(i, j);
				ans++;
			}
		}
	}
	cout << ans;
}
2023/2/22 19:31
加载中...