UVALive - 3029 好烦的模拟

题意:给一个'F'和'R'组成的大矩阵,输出F组成的子矩阵的最大面积乘3

如:RFFFRRRR答案书3*3=3

小白书的扫描法小紫书也有扫描法的例题。

我用的模拟,详情见代码注释。

#include 
#include 
#include 
using namespace std;

char a[1005][1005];
int up[1005][1005],right[1005][1005],left[1005][1005];

int main()
{
	int t,n,m;
	scanf("%d",&t);
	while(t--)
	{
		memset(up,0,sizeof(up));
		memset(right,0,sizeof(right));
		memset(left,0,sizeof(left));
		scanf("%d %d",&n,&m);
		for(int i=0;i=0;j--)
				{
					if(a[i][j]==1) right[i][j]=r;		
					else r=j-1,right[i][j]=m-1;			//这个也很重要 
				//	printf("%d ",right[i][j]);
				}
			}
			else
			{
				for(int j=0;j=0;j--)
				{
					if(a[i][j]==1) right[i][j]=min(r,right[i-1][j]);
					else r=j-1,right[i][j]=m-1;
				}
			}
		}
		int ans=0;
		for(int i=0;i


你可能感兴趣的:(紫书,模拟)