HDU 1505
来源:互联网 发布:禁止吸烟网络图片大全 编辑:程序博客网 时间:2024/06/05 16:04
HDU 1506 加强版
http://blog.csdn.net/a634771197/article/details/26506999
先求出每个点往下能达到的最大高度,然后往两边推,求最大宽度,再求最大面积,注意输入
#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<string>#define N 1005using namespace std;int map[N][N],h[N][N],dpl[N],dpr[N];char tmp[3];int main(){ int ans,k,i,j,n,m,temp,t; scanf("%d",&k); while(k--){ memset(map,0,sizeof(map)); scanf("%d%d",&n,&m); for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ scanf("%s",tmp); if(tmp[0]=='F') map[i][j]=1; } } memset(h,0,sizeof(h)); for(i=n;i>=1;i--){ for(j=1;j<=m;j++){ if(map[i][j]) h[i][j]=h[i+1][j]+1; else h[i][j]=0; } } ans=0; for(i=1;i<=n;i++){ dpl[1]=1; dpr[m]=m; for(j=2;j<=m;j++){ t=j; while(h[i][t-1]>=h[i][j]&&t>1) t=dpl[t-1]; dpl[j]=t; } for(j=m-1;j>=1;j--){ t=j; while(h[i][t+1]>=h[i][j]&&t<m) t=dpr[t+1]; dpr[j]=t; } for(j=1;j<=m;j++){ temp=(dpr[j]-dpl[j]+1)*h[i][j]; if(temp>ans) ans=temp; } } printf("%d\n",ans*3); } return 0;}
0 0
- HDU 1505
- HDU 1505
- hdu 1505
- HDU 1505
- hdu 1505
- hdu 1505
- hdu 1505
- hdu-1505
- HDU 1505
- HDU 1505
- HDU 1505
- HDU 1505
- HDU-1506 || HDU-1505 || HDU-2870 || HDU-2830
- hdu 1505 hdu 1506 hdu 2870 综合解答
- HDU 1505 City Game
- hdu 1505 City Game
- HDU 1505 dp
- hdu 1505 #DP
- 工作三年的程序猿 再面试的感悟
- cocos2d-x的主循环和导演类
- Linux“自动备份/删除”MYSQL
- JS获取Jquery获取radio值等常用方法
- Secrets of the Ftrace function tracer
- HDU 1505
- UNIX环境高级编程(八)进程控制
- 用jointjs绘制微博关系图
- 插入排序
- 一些小技巧在布局上
- UITextView关闭键盘
- MySql数据库索引的学习
- POJ 3083Children of the Candy Corn(DFS*2+BFS)
- c++-运算符的重载