博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1505 City Game【DP】
阅读量:5304 次
发布时间:2019-06-14

本文共 1015 字,大约阅读时间需要 3 分钟。

题意:是二维的1506,即在1506的基础上,再加一个for循环,即从第一行到最后一行再扫一遍---

自己写的时候,输入的方法不对---发现输不出结果,后来看了别人的----@_@
发现是将字母和空格当成一个字符串来输入的。

#include
#include
#include
#include
using namespace std;int h[1010][1010],l[1010],r[1010];char c[105];int main(){ int ncase,n,m,i,j,ans,tmp; char ch; scanf("%d",&ncase); while(ncase--) { ans=0; scanf("%d %d",&m,&n); for(i=1;i<=m;i++) { for(j=1;j<=n;j++) { scanf("%s",c);//输入是将字母和空格当成了一个字符串 if(c[0]=='F') h[i][j]=h[i-1][j]+1; else h[i][j]=0; } } for(i=1;i<=m;i++) { h[i][0]=-1;h[i][n+1]=-10000;//边界的值可以规定为任意负数 for(j=1;j<=n;j++) l[j]=r[j]=j; for(j=2;j<=n;j++) { while(h[i][l[j]-1]>=h[i][l[j]]) l[j]=l[l[j]-1]; } for(j=n-1;j>=1;j--) { while(h[i][r[j]+1]>=h[i][r[j]]) r[j]=r[r[j]+1]; } for(j=1;j<=n;j++) { tmp=h[i][j]*(r[j]-l[j]+1); if(tmp>ans) ans=tmp; } } printf("%d\n",ans*3); }}

  

转载于:https://www.cnblogs.com/wuyuewoniu/p/4285435.html

你可能感兴趣的文章
a*寻路分析
查看>>
table左边固定-底部横向滚动条-demo
查看>>
MySQL事件异常记录
查看>>
中国创新教育交流会杂感
查看>>
逍遥笔记
查看>>
JSON 命令行工具
查看>>
ubuntu 查看软件包中的内容 (已经安装)
查看>>
iperf 一个测试网络吞吐的工具
查看>>
IOR and mdtest - measure parallel file system I/O performance at both the POSIX and MPI-IO level.
查看>>
文件系统测试工具整理
查看>>
好用的性能检测工具 - Glances
查看>>
tcp滑动窗口和读写缓冲区
查看>>
GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造
查看>>
ssh 使用指定网卡 连接特定网络
查看>>
鸿蒙操作系统发布会 分析 记录
查看>>
浅谈python 中正则的一些函数
查看>>
app生命周期之即将关闭
查看>>
MPU6050
查看>>
Asp.Net 加载不同项目程序集
查看>>
Jenkins插件--通知Notification
查看>>