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 ...
随机推荐
- debian8(jessie)安装小记
其实上周五就想写这篇博客了,一直忙着没时间,虽然也不知道自己这一个星期到底在忙什么.这次我是彻底告别windows了,安装的过程略为艰辛,因为之前习惯了deepin和ubuntu的傻瓜式安装,而deb ...
- (转载)关于web端功能测试的测试方向
一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...
- mongodb转换List实体(去掉多余的字段) 批量添加
Gson gson = new Gson(); String str = "list集合json字符串"; JsonObject object = gson.fromJson(st ...
- flask一些资料
http://shulhi.com/celery-integration-with-flask/ https://jeffknupp.com/blog/2014/01/29/productionizi ...
- C#通过安全证书生成签名和验签辅助类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- [清理页面缓存]asp.net、html
(1) MVC BaseController: Controller内 protected override void Initialize(System.Web.Routing.RequestC ...
- Device Path in WinPrefetchView
As we know that the Prefetch file is used for optimizing the loading time of the application in the ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
问题描述:最简单的数据库连接报错,到主机 的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerExcep ...
- 使用Form Builder创建Form具体步骤
使用Oracle Form Builder创建Form具体步骤 (Data Source为Table) 说明:当Block使用的Data Source为Table时,Form会自动Insert,Upd ...
- linux 服务器登录显示lastlogin
1.参数修改: /etc/ssh/sshd_config 问价里边的 printlastlog 设置为yes /etc/ssh/sshd_config 问价里边的 printmotd 设置为yes 2 ...