60分求助!救一下哇!必关
查看原帖
60分求助!救一下哇!必关
863381
a_blue_shao楼主2025/6/27 21:37
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef long long ll;
ll rel[1020110], rer[1020110];
char land[1010][1010], jh[1010][1010];
int main()
{
	ll m, n, ans = 0, record = 0;
	cin >> n >> m;
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m; j++)
		{
			cin >> land[i][j];
		}
	}
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m; j++)
		{
			if(land[i][j] != '#' && land[i-1][j] != '#' && land[i+1][j] != '#' && land[i][j-1] != '#' && land[i][j+1] != '#')
				ans++;
			else
			{
				rel[record]=i;
				rer[record]=j;
				record++;
			}
		}
	}
	int anss=0, bo = -1;
	for(int i = 0; i < record; i ++)
	{
		anss = 0;
		int l=rel[i];
		int r=rer[i];
		if(land[l-2][r] != '#' && land[l-1][r-1] != '#' && land[l-1][r+1] != '#')
		{
			anss++;//上 
		}
		if(land[l][r-2] != '#' && land[l-1][r-1] != '#' && land[l+1][r-1] != '#')
		{
			anss++;//左 
		}
		if(land[l][r+2] != '#' && land[l-1][r-1] != '#' && land[l+1][r+1] != '#')
		{
			anss++;//右 
		}
		if(land[l+2][r] != '#' && land[l+1][r-1] != '#' && land[l+1][r+1] != '#')
		{
			anss++;//下 
		}
		bo = max(bo, anss) ;
	}
	cout <<ans + bo + 1;
	return 0;
}
2025/6/27 21:37
加载中...