意甲冠军:

薛期呵和王熙凤不想很接近生活(因为假定他们一起,柴可能取代王熙凤)

现在'.'事情是这样的。'#'一堵墙。薛期呵对宝让生活远;

因此,选择一个最长的公路,让他们住在两端;

路达一个转折点。它是90;

像以下这张图:

#.#

##.

..#

最长的路是(图中*的位置)

#*#

##*

.*# 长度为3;

思路:

计算出每一个点在八个方向上的长度。

然后在把每一个点垂直两个方向的距离加起来(一个点有8种加法)

取全部点的最大值;

计算时,由于假设要算这个点 左上方 延伸多长,就要算算它左上方那个点能延伸多长,再加1(所以这时候左上方那个点必须已经算出来了)。

而要计算这个点 右下方 延伸多长,也是同理要先算出它右下方那个点;

所以有四个方向要从上往下遍历。

另外四个方向从下往上遍历;

AC代码:

#include<cstdio>
#include<cstring>
#include<queue>
using namespace std; const int N = 105;
char g[N][N];
int n;
int dir[8][2] = {{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1},{1,0},{1,1},{0,1}};
int dp[N][N][8]; int main() {
while(scanf("%d",&n) && n) {
memset(dp, 0, sizeof(dp));
for(int i = 1; i <= n; i++) {
getchar();
for(int j = 1; j <= n; j++) {
scanf("%c",&g[i][j]);
if(g[i][j] == '.') {
for(int k = 0; k < 8; k++) {
dp[i][j][k] = 1;
}
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
if(g[i][j] == '#')
continue;
for(int k = 0; k < 4; k++) {
int x = i + dir[k][0];
int y = j + dir[k][1];
if(x > 0 && y > 0 && x <= n && y <= n && g[x][y] != '#') {
dp[i][j][k] += dp[x][y][k];
}
}
}
}
for(int i = n; i >= 1; i--) {
for(int j = n; j >= 1; j--) {
if(g[i][j] == '#')
continue;
for(int k = 4; k < 8; k++) {
int x = i + dir[k][0];
int y = j + dir[k][1];
if(x > 0 && y > 0 && x <= n && y <= n && g[x][y] != '#') {
dp[i][j][k] += dp[x][y][k];
}
}
}
}
int m = 0;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
for(int k = 0; k < 8; k++) {
if(dp[i][j][k] + dp[i][j][(k + 2)%8] > m)
m = dp[i][j][k] + dp[i][j][(k + 2)%8];
}
}
}
printf("%d\n",m - 1);
}
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

hdu5024(dp)的更多相关文章

  1. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  2. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  3. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  4. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  5. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

  6. [斜率优化DP]【学习笔记】【更新中】

    参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...

  7. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  8. px、dp和sp,这些单位有什么区别?

    DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...

  9. android px转换为dip/dp

    /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...

随机推荐

  1. 使用Heroku,需要locale至zh_CN,代替zh-CN

    使用Heroku.需要locale至zh_CN,代替zh-CN 我认为这是由于在application.rb于,config.i18n.default_locale默认接受值这是Symbol, 而当我 ...

  2. 【从零学习openCV】IOS7根据人脸检测

    前言: 人脸检測与识别一直是计算机视觉领域一大热门研究方向,并且也从安全监控等工业级的应用扩展到了手机移动端的app.总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,眼下在学习ope ...

  3. android键盘锁定问题

    android经常使用KeyguardLock解锁.但需要使用后打电话reenableKeyguard()锁定被解除.否则,会导致其他进程无法锁定屏幕,使用相同的WakeLock唤醒屏幕后还需要使用r ...

  4. SQL SERVER 内存分配及常见内存问题(1)——简介

    原文:SQL SERVER 内存分配及常见内存问题(1)--简介 一.问题: 1.SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微.对此要了解 ...

  5. HTML5学习笔记简明版(10):过时的元素和属性

    被遗弃的元素(Element) 这个小节里列出的元素在HTML5里将不再使用,现有文档升级到 HTML5的话能够使用一些替代方案.比如parser section 能够处理isindex 元素的功能. ...

  6. 变化Android系统属性SystemProperties.set(&quot;sys.powerctl&quot;, &quot;shutdown&quot;)关机分析

    基本介绍: 从以前的博客中提到,我们,最后,通过关机过程变化Android关机属性(SystemProperties.java由JNI呼叫接入系统属性),当然,我们也能adb命令变化Android系统 ...

  7. Gallatin(大陆版)Office365中Exchange Online混合部署功能已经能够使用了

    经过測试,Exchange混合部署已经能够使用了 前置条件: 本机至少须要一台Exchange Server 2013作为混合部署server 须要一个公网域名 domian.com,能够和内部域名不 ...

  8. 定制XP引导屏幕背景图像和替换windows这句话

    (一)带滚动条界面变化 1.制作640*480位图,4位置16肤色,尺寸小于200Kb. 2.位图名boot.bmp,并将其复制到C:/windows根文件夹 3.更改boot.ini档.我的电脑/属 ...

  9. Sql Server脚本使用TFS版本控制

    原文:Sql Server脚本使用TFS版本控制 1.安装TFS插件 Microsoft Visual Studio Team Foundation Server 2010 MSSCCI Provid ...

  10. ubuntu分屏终端

    一:更新source 列表: 将/etc/apt/sources.list的镜像源改为网易源:http://mirrors.163.com/ubuntu/dists/ deb http://mirro ...