蒟蒻求助 全WA 样例正确
查看原帖
蒟蒻求助 全WA 样例正确
1162093
jimmy0926楼主2024/3/16 18:03

请各位大佬帮忙看看

错哪里了

#include <iostream>
#define INT_MAX 0x7fffffff
#define INT_MIN -0x80000000
using namespace std;
int m,n;
bool mp[501][501];
void dfs(int,int);

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>m>>n;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			char tmp;
			cin>>tmp;
			if(tmp=='0')
				mp[i][j]=0;
			else
				mp[i][j]=1;
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(mp[1][i]==0)
			dfs(1,i);
	}
	for(int i=1;i<=m;i++)
	{
		if(mp[i][n]==0)
			dfs(i,n);
	}
	for(int i=1;i<=n;i++)
	{
		if(mp[m][i]==0)
			dfs(m,i);
	}
	for(int i=1;i<=m;i++)
	{
		if(mp[i][1]==0)
			dfs(i,1);
	}
	int cnt=0;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(mp[i][j]==0)
				cnt++;
		}
	}
	cout<<cnt;
	return 0;
}
void dfs(int x,int y)
{
	mp[x][y]=1;
	if(x+1<=n && !mp[x+1][y])
		dfs(x+1,y);
	if(y+1<=m && !mp[x][y+1])
		dfs(x,y+1);
	if(x-1>0 && !mp[x-1][y])
		dfs(x-1,y);
	if(y-1>0 && !mp[x][y-1])
		dfs(x,y-1);
}

麻烦了,谢谢 QwQQwQ ~

2024/3/16 18:03
加载中...