求助RE+WA
查看原帖
求助RE+WA
556362
Unnamed114514楼主2021/10/10 11:03
#include<bits/stdc++.h>
using namespace std;
string s[1000];
int n,m,sum,ans,k;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>s[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++){
			if(s[i][j]=='o')
				k++;
			int w=(s[i-1][j]=='o')+(s[i+1][j]=='o')+(s[i][j-1]=='o')+(s[i][j+1]=='o')+(s[i-1][j-1]=='o')+(s[i-1][j+1]=='o')+(s[i+1][j+1]=='o')+(s[i+1][j-1]=='o');
			sum+=w;
		}
	if(k==n*m)
		printf("%d\n",sum/2);
	else{
		for(int x=1;x<=n;x++)
			for(int y=1;y<=m;y++){
				if(s[x][y]=='o')
					continue;
				s[x][y]=='o';
				int ss=0;
				for(int i=1;i<=n;i++)
					for(int j=1;j<=n;j++){
						if(s[i][j]=='o')
							k++;
						int w=(s[i-1][j]=='o')+(s[i+1][j]=='o')+(s[i][j-1]=='o')+(s[i][j+1]=='o')+(s[i-1][j-1]=='o')+(s[i-1][j+1]=='o')+(s[i+1][j+1]=='o')+(s[i+1][j-1]=='o');
						ss+=w;
				}
				ans=max(ans,ss/2);
				s[x][y]=='.';
			}
		printf("%d\n",ans);
	}
	return 0;
}
2021/10/10 11:03
加载中...