此题为动态规划加搜索型题目

采用记忆化搜索的方式

dp[i][j]表示从坐标为 i,j 开始滑所能达到的最长距离

则dp[i][j]=max(dp[i-1][j],dp[i][j+1],dp[i+1][j],dp[i][j-1])

代码如下:

#include<stdio.h>
int dir[][]= {{,},{,},{-,},{,-}}; //初始化偏移量
int dp[][]; //dp[x][y]表示从坐标x,y开始滑所达到的最大长度
int map[][];
int n,m;
int dfs(int x,int y)
{
if(dp[x][y]) //若已经搜过,返回
return dp[x][y];
int tx,ty,i;
for(i=; i<; i++) //搜索x,y的上,下,左,右
{
tx=x+dir[i][];
ty=y+dir[i][];
if(tx>= && tx<n && ty>= && ty<m && map[tx][ty]<map[x][y]) //未出界且能往tx,ty滑
{
int temp=dfs(tx,ty); //从tx,ty开始滑
if(temp>=dp[x][y]) //若比从x,y开始滑的距离长或相等
{
dp[x][y]=temp+;
}
}
}
return dp[x][y];
}
int main()
{
int i,j,t;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=; i<n; i++)
for(j=; j<m; j++)
{
scanf("%d",&map[i][j]);
dp[i][j]=;
}
int max=-;
for(i=; i<n; i++) //将所有地方遍历一遍,找出最大长度
for(j=; j<m; j++)
{
t=dfs(i,j);
if(t>max)
max=t;
}
//printf("%d\n",dp[0][0]); 测试数据dp[0][0]为最低地方
printf("%d\n",max+); //最低的地方dp值为0,所以最后加1
}
return ;
}

Poj-1088-滑雪的更多相关文章

  1. POJ 1088 滑雪(记忆化搜索+dp)

    POJ 1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 107319   Accepted: 40893 De ...

  2. POJ 1088 滑雪(记忆化搜索)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 92384   Accepted: 34948 Description ...

  3. POJ 1088 滑雪 【记忆化搜索经典】

    题目链接:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:  ...

  4. POJ 1088 滑雪 -- 动态规划

    题目地址:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  5. OpenJudge/Poj 1088 滑雪

    1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...

  6. poj 1088 滑雪(区间dp+记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...

  7. POJ 1088 滑雪 (记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 题意很好懂,就是让你求一个最长下降路线的长度. dp[i][j]记录的是i j这个位置的最优的长度,然后转移方程是dp[i][j ...

  8. poj 1088 滑雪 DP(dfs的记忆化搜索)

    题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 ...

  9. POJ 1088 滑雪 DFS 记忆化搜索

    http://poj.org/problem?id=1088 校运会放假继续来水一发^ ^ 不过又要各种复习,功课拉下了许多 QAQ. 还有呀,就是昨天被一个学姐教育了一番,太感谢了,嘻嘻^ ^ 好了 ...

  10. POJ 1088滑雪

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 89168   Accepted: 33474 Description ...

随机推荐

  1. debian8(jessie)安装小记

    其实上周五就想写这篇博客了,一直忙着没时间,虽然也不知道自己这一个星期到底在忙什么.这次我是彻底告别windows了,安装的过程略为艰辛,因为之前习惯了deepin和ubuntu的傻瓜式安装,而deb ...

  2. (转载)关于web端功能测试的测试方向

    一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...

  3. mongodb转换List实体(去掉多余的字段) 批量添加

    Gson gson = new Gson(); String str = "list集合json字符串"; JsonObject object = gson.fromJson(st ...

  4. flask一些资料

    http://shulhi.com/celery-integration-with-flask/ https://jeffknupp.com/blog/2014/01/29/productionizi ...

  5. C#通过安全证书生成签名和验签辅助类

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  6. [清理页面缓存]asp.net、html

    (1)   MVC BaseController: Controller内 protected override void Initialize(System.Web.Routing.RequestC ...

  7. Device Path in WinPrefetchView

    As we know that the Prefetch file is used for optimizing the loading time of the application in the ...

  8. com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

      问题描述:最简单的数据库连接报错,到主机  的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...

  9. 使用Form Builder创建Form具体步骤

    使用Oracle Form Builder创建Form具体步骤 (Data Source为Table) 说明:当Block使用的Data Source为Table时,Form会自动Insert,Upd ...

  10. linux 服务器登录显示lastlogin

    1.参数修改: /etc/ssh/sshd_config 问价里边的 printlastlog 设置为yes /etc/ssh/sshd_config 问价里边的 printmotd 设置为yes 2 ...