60求助
  • 板块P4147 玉蟾宫
  • 楼主liuchijun
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/30 09:23
  • 上次更新2024/11/30 13:10:26
查看原帖
60求助
1094880
liuchijun楼主2024/11/30 09:23

rt

#include<iostream>
using namespace std;
#define maxn 1010
int n,m,ans=0;
char a[maxn][maxn];
int h[maxn][maxn],l[maxn][maxn],r[maxn][maxn];
int main()
{
	ans=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
			h[i][j]=1,r[i][j]=l[i][j]=j;
		}
		for(int j=2;j<=m;j++)
			if(a[i][j]=='F'&&a[i][j-1]=='F')
				l[i][j]=l[i][j-1];
		for(int j=m-1;j>0;j--)
			if(a[i][j]=='F'&&a[i][j+1]=='F')
				r[i][j]==r[i][j+1];
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++){
			if(i>1&&a[i][j]=='F'){
				if(a[i-1][j]=='F'){
					h[i][j]=h[i-1][j]+1;
					if(l[i-1][j]>l[i][j])
						l[i][j]=l[i-1][j];
					if(r[i-1][j]<r[i][j])
						r[i][j]=r[i-1][j];
				}
				if((r[i][j]-l[i][j]+1)*h[i][j]>ans)
					ans=(r[i][j]-l[i][j]+1)*h[i][j];
			}
		}
	cout<<3*ans<<endl;
	return 0;
}
/*
5 6 
R F F F F F 
F F F F F F 
R R R F F F 
F F F F F F 
F F F F F F
*/
2024/11/30 09:23
加载中...