UVA - 1330
来源:互联网 发布:bi数据分析是什么 编辑:程序博客网 时间:2024/05/17 22:39
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>//using namespace std;const int maxn = 1005;int max(int a, int b){ return a>b ? a:b; }int min(int a, int b){ return a<b ? a:b; }int up[maxn][maxn],left[maxn][maxn],right[maxn][maxn],maze[maxn][maxn],n,m;/*up[i][j] : the distance from (i,j) to (i-t,j) ,where (i-t,j) is the top free sapce (i,j) can straightly get there without crossing 'R' space; Let we call the line from (i,j) to (i-t,j) as "hanging line";left[i][j] : the leftmost column position where the hanging line can splay to; right[i][j] : the rightmost column position where the hanging line can splay to;*/int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ int ch=getchar(); while(ch!='F'&&ch!='R') ch=getchar(); maze[i][j] = ch=='F' ? 0 : 1; } for(int i=1;i<=n;i++){ int lo=0; for(int j=1;j<=m;j++){ if(maze[i][j]==1){ left[i][j] = up[i][j]=0; lo=j; } else { left[i][j]= i==1 ? lo+1:max(lo+1,left[i-1][j]); up[i][j]= i==1 ? 1 : up[i-1][j]+1; } } } int ans=0; for(int i=1;i<=n;i++){ int ro=m+1; for(int j=m;j>=1;j--){ if(maze[i][j]==1){ right[i][j] = m; ro=j; } else { right[i][j] = i==1 ? ro-1 : min(ro-1 , right[i-1][j]); } ans=max(ans,(right[i][j]-left[i][j]+1)*up[i][j]); } } printf("%d\n",ans*3); } return 0;}
0 0
- UVA - 1330
- uva 1330 - City Game
- uva 1330 City Game
- UVa:1330 City Game
- UVA 1330 - City Game
- UVa 1330 - City Game
- UVA - 1330 City Game
- UVa 1330 LA 3029
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- 如何下载网页上的视频
- DLL调用实例
- 第11周项目2-求最大公约数(2)
- Highcharts去水印
- Android 振动器 Vibrator 使用简介
- UVA - 1330
- 第十一周项目一(2)
- 第十一周项目1 函数版星号图2
- __FILE__,__LINE__,FUNCTION__实现代码跟踪调试
- SAP 库存相关数据库表
- Android 闪光灯 控制 demo
- Hello World!
- logcat命令详解
- 第11周项目1(3)-输出指定图形