0分求调必回关
查看原帖
0分求调必回关
1560455
Wfly_楼主2025/6/21 09:43

样例已过

#include<bits/stdc++.h>
using namespace std;
char nd[2000][2000];
int rki[2000], rkj[2000];
int main()
{
	int m, n, sum = 0;
	cin >> m >> n;
	for(int i = 0;i < m;i++)
	{
		for(int j = 0;j < n;j++)
		{
			cin >> nd[i][j];
			if(nd[i][j] == '#') 
			{
				rki[sum] = i;
				rkj[sum] = j;
				sum++;
			}
		}
	} 
	int maxn = -1;
	for(int i = 0;i < sum;i++)
	{
		int a = 0;
		nd[rki[i]][rkj[i]] = '.';
		for(int j = 0;j < m;j++)
		{
			for(int f = 0;f < n;f++)
			{
			    if(nd[abs(j)][abs(f)] != '#' && nd[abs(j)][abs(f+1)] != '#' 
				&& nd[abs(j)][abs(f-1)] != '#' && nd[abs(j-1)][abs(f)] != '#' 
				&& nd[abs(j+1)][abs(f)] != '#')
				{
					a++;
				}
			}
		}
		if(a > maxn) maxn = a;
		nd[rki[i]][rkj[i]] = '#';
	}
	cout << maxn << endl;
	return 0;
}

调了必关

2025/6/21 09:43
加载中...