意甲冠军:

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

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

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

路达一个转折点。它是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. T-SQL技术收集——删除重复数据

    原文:T-SQL技术收集--删除重复数据 在工作和面试中,经常出现如何查询或者删除重复数据的问题,如果有主键,那还好办一点,如果没有主键,那就有点麻烦. 当一个表上没有辅助键时,如果使用SSMS界面来 ...

  2. 开源GUI-Microwindows之程序入口分析

    **************************************************************************************************** ...

  3. Dev GridView RowCellClick活动MouseDown事件

    GridView可编辑.在无声的思想左键点击"进入编辑". 将GridView的OptionsColumn.AllowEdit至false离开时触发RowCellClick. 但有 ...

  4. [Unity3D]Unity3D圣骑士当游戏开发商遭遇Mecanim动画系统

            大家好.我是秦培.欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 博主总算赶在这个月底写出了这篇文章.这个月由于期末考试一直没时间研究太多关于技术方面 ...

  5. TortoiseGit客户端密钥配置

    为了方便在windows下使用TortoiseGit客户端提交代码,提高开发效率,现对SSH key的配置进行一下说明,亲测可用. 1.安装TortoiseGit,找到开始菜单里TortoiseGit ...

  6. zoj 3829 Known Notation(2014在牡丹江区域赛k称号)

    Known Notation Time Limit: 2 Seconds      Memory Limit: 131072 KB Do you know reverse Polish notatio ...

  7. 【剑指offer】最大和连续子阵列

    个開始,到第3个为止).你会不会被他忽悠住? 输入: 输入有多组数据,每组測试数据包括两行. 第一行为一个整数n(0<=n<=100000),当n=0时,输入结束.接下去的一行包括n个整数 ...

  8. SWOT分析是神马?

    SWOT分析是思维的工具来理解事物的方式.人生在世,作为一个独立的实体,不可避免地需要思考的问题.除非你是猪.猪比这更聪明.眠质量,都要完爆白领,蓝领和金领们. SWOT分析分为四个象限.我们用一头名 ...

  9. springmvc+ztree v3实现类似表单回显功能

    在做权限管理系统时,可能会用到插件zTree v3,这是一个功能丰富强大的前端插件,应用很广泛,如异步加载菜单制作.下拉选择.权限分配等.在集成SpringMVC中,我分别实现了zTree的添删改查, ...

  10. Eclipse扩展安装插件方式

    Eclipse安装插件经常使用的是直接安装的方式,就是将插件中包含的plugins和features文件夹中的内容直接复制到了Eclipse的plugins和features文件夹内,这样很容易导致插 ...