10分求调
查看原帖
10分求调
960665
E_RONALDO楼主2025/6/25 23:10
#include<bits/stdc++.h>
using namespace std;
char c[1005][1005];
int vis[1005];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>c[i][j];
		}
	}
	int ans=0,tmd=0;
	int f=0;
	int g[1][1];
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(c[i][j]=='#'&&f!=1&&vis[c[i][j]]==0){
				f=1;
				c[i][j]='.';
				vis[c[i][j]]==1;
				g[0][0]=c[i][j];
			}
			if(c[i][j+1]!='#'&&c[i+1][j]!='#'&&c[i-1][j]!='#'&&c[i][j-1]!='#'&&c[i][j]!='#'){
				tmd++;
			}
		}
		f=0;
		int sd=0;
		ans=max(ans,tmd);
		for(int k=1;k<=n;k++){
			for(int s=1;s<=m;s++){
				if(c[k][s]==g[0][0]){
					c[k][s]='#';
					sd=1;
					break;
				}
			}
			if(sd==1){
				sd=0;
				break;
				
			}
		}
		g[0][0]=0;
	}
	
	cout<<ans;
	
	return 0;
}

2025/6/25 23:10
加载中...