社区讨论

求助!所有测试都出现RE错误,但是本地测试是通过的

B4263[GESP202503 四级] 荒地开垦参与者 4已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mhj42yex
此快照首次捕获于
2025/11/03 20:23
4 个月前
此快照最后确认于
2025/11/03 20:23
4 个月前
查看原帖
https://www.luogu.com.cn/record/237203538 在本地用各种Sample都测试没有问题,也用了同样的编译参数,求助!
CPP
#include<bits/stdc++.h>
using namespace std;
char mp[1000][1000];
int n,m;
int Find(int x,int y)
{
	int ans=0;
	mp[x][y]='.';
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			int flag=0;
			if(i-1<0||(i-1>=0&&mp[i-1][j]=='.'))
			{
				flag++;
			}
			if(i+1>=n||(i+1<n&&mp[i+1][j]=='.'))
			{
				flag++;
			}
			if(j-1<0||(j-1>=0&&mp[i][j-1]=='.'))
			{
				flag++;
			}
			if(j+1>=m||(j+1<m&&mp[i][j+1]=='.'))
			{
				flag++;
			}
			if(mp[i][j]!='#')
			{
				flag++;
			}
			if(flag==5)
				ans++;
		} 
	}
	mp[x][y]='#';
	return ans;
}

int main()
{
	cin>>n>>m;
	int x[1000],y[1000];
	int count=0;
	for(int i=0;i<n;i++)
	{
		string tmp;
		cin>>tmp;
		for(int j=0;j<m;j++)
		{
			//cin>>mp[i][j];
			mp[i][j]=tmp[j];
			if(mp[i][j]=='#')
			{
				x[count]=i;
				y[count]=j;
				count++;
			}
		}
	}
	
	int maxn=0;
	for(int i=0;i<count;i++)
	{
		maxn=max(maxn,Find(x[i],y[i]));
	}
	cout<<maxn;
	return 0;
}

回复

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

正在加载回复...