Poj-1088-滑雪
此题为动态规划加搜索型题目
采用记忆化搜索的方式
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-滑雪的更多相关文章
- POJ 1088 滑雪(记忆化搜索+dp)
POJ 1088 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 107319 Accepted: 40893 De ...
- POJ 1088 滑雪(记忆化搜索)
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 92384 Accepted: 34948 Description ...
- POJ 1088 滑雪 【记忆化搜索经典】
题目链接:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: ...
- POJ 1088 滑雪 -- 动态规划
题目地址:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...
- OpenJudge/Poj 1088 滑雪
1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...
- poj 1088 滑雪(区间dp+记忆化搜索)
题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...
- POJ 1088 滑雪 (记忆化搜索)
题目链接:http://poj.org/problem?id=1088 题意很好懂,就是让你求一个最长下降路线的长度. dp[i][j]记录的是i j这个位置的最优的长度,然后转移方程是dp[i][j ...
- poj 1088 滑雪 DP(dfs的记忆化搜索)
题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 ...
- POJ 1088 滑雪 DFS 记忆化搜索
http://poj.org/problem?id=1088 校运会放假继续来水一发^ ^ 不过又要各种复习,功课拉下了许多 QAQ. 还有呀,就是昨天被一个学姐教育了一番,太感谢了,嘻嘻^ ^ 好了 ...
- POJ 1088滑雪
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 89168 Accepted: 33474 Description ...
随机推荐
- uploadify图片上传发生Security Error
今天在使用uploadify进行图片上传的时候出现security error.其根本原因是flash跨域问题.主要原因是因为配了两个域名www.ttyouni.com 和 ttyouni.com 在 ...
- APP弱网测试
APP弱网测试 App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...
- dubbo+zookeeper例子
0.原理 Alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo.hsf),jms消息服务(napoli.notify),KV数据库(tair)等.这个 ...
- CRC
#define POLY 0x1021 /** * Calculating CRC-16 in 'C' * @para addr, start of data * @para num, length ...
- bash脚本编程之二 字符串测试及for循环
shell中大量的测试和比较选项而困惑呢? 这个技巧可以帮助您解密不同类型的文件.算术和字符串测试,这样您就能够知道什么时候使用 test. [ ]. [[ ]].(( )) 或 if-then-el ...
- C++中 容易忽视的const 修饰符
C++可以用const定义常量,也可以用#define定义常量,但是前者比后者有更多的有点: (1)const常量有数据类型,而宏常量没有数据类型.编译器可以对const进行类型安全检查,而后者只进行 ...
- A 浪哥的烦恼 完全背包dp
https://biancheng.love/contest-ng/index.html#/131/problems 首先,去到n点的最小时间是所有数加起来. 然后,如果我1 --- 2,然后再2-- ...
- 通过底层AVR方法实现SPI数据传输
主机端: /********************************* 代码功能:通过底层AVR方法实现SPI数据传输(主机端) 创作时间:2016*10*17 使用资源: 更低阶的 aTme ...
- 企业项目如何打包成.ipa文件
首先准备好企业的项目,真机和申请好的正式证书,关于企业证书的申请此处不再写,可以参考网上相关的教程,本人并未参与证书申请,所以此处不敢乱写. 1.找到正式证书与描述文件,双击打开(需要密码,这个要问申 ...
- javascript 的 梯子
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...