杭电acm java_HDU CityGame用java一直wa,求解答下。

import java.io.BufferedInputStream;

import java.util.Arrays;

import java.util.Scanner;

public class Main {

final static int N = 1010;//

// static float [] dp = new float [N];

static int [] height = new int [N];

static int [] l = new int [N];

static int [] r= new int [N];

// static float per[]=new float [N+1];

public static void main(String args[])

{

Scanner in = new Scanner(new BufferedInputStream(System.in));

int times=in.nextInt();

while(times!=0)

{

int m,n,i,res=0;

char [] s=new char[3];

m=in.nextInt();

n=in.nextInt();

Arrays.fill(height, 0);

for(int row=1;row<=m;row++)

{

for(int col=1;col<=n;col++)

{

s=in.next().toCharArray();

if(s[0]=='F')

height[col]++;

else {

height[col]=0;

}

}

for(i=1;i<=n;i++)

{

l[i]=i;

while(l[i]-1>=1&&height[l[i]-1]>=height[i])

l[i]=l[l[i]-1];

}

for(i=n;i>=1;i--)

{

r[i]=i;

while(r[i]+1<=n&&height[r[i]+1]>=height[i])

r[i]=r[r[i]+1];

}

res=-1;

for(i=1;i<=n;i++)

res=Math.max(res, (r[i]-l[i]+1)*height[i]);

}

System.out.println(3*res);

times--;

}

}

}

代码如上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值