bzoj3039

经典题目不多说

 1 var f:array[0..1010,0..1010] of longint;
 2     l,r:array[0..1010] of longint;
 3     i,j,n,m,ans:longint;
 4     x:char;
 5 
 6 function max(a,b:longint):longint;
 7   begin
 8     if a>b then exit(a) else exit(b);
 9   end;
10 
11 begin
12   readln(n,m);
13   for i:=1 to n do
14   begin
15     for j:=1 to m do
16     begin
17       read(x);
18       if x=' ' then read(x);
19       if x='F' then
20         f[i,j]:=f[i-1,j]+1
21       else f[i,j]:=0;
22     end;
23     readln;
24   end;
25 
26   for i:=1 to n do
27   begin
28     l[1]:=1;
29     for j:=1 to m do
30     begin
31       l[j]:=j;
32       while (l[j]-1>0) and (f[i,j]<=f[i,l[j]-1]) do l[j]:=l[l[j]-1];
33     end;
34     r[m]:=m;
35     for j:=m-1 downto 1 do
36     begin
37       r[j]:=j;
38       while (r[j]+1<=m) and (f[i,j]<=f[i,r[j]+1]) do r[j]:=r[r[j]+1];
39     end;
40     for j:=1 to m do
41       ans:=max(ans,f[i,j]*(r[j]-l[j]+1));
42   end;
43   writeln(3*ans);
44 end.
View Code

 

转载于:https://www.cnblogs.com/phile/p/4473222.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值