滑雪
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 75664 Accepted: 28044

Description

Michael喜欢滑雪百这并不奇怪, 由于滑雪的确非常刺激。但是为了获得速度,滑的区域必须向下倾斜,并且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每一个数字代表点的高度。以下是一个样例

 1  2  3  4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9

一个人能够从某个点滑向上下左右相邻四个点之中的一个,当且仅当高度减小。在上面的样例中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。其实,这是最长的一条。

Input

输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。以下是R行,每行有C个整数,代表高度h,0<=h<=10000。

Output

输出最长区域的长度。

Sample Input

5 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Sample Output

25

Source

SHTSC 2002
代码:32MS

#include <iostream>
using namespace std;
#define M 110
int map[M][M],len[M][M];
int dis[4][2]={-1,0,0,1,1,0,0,-1};
int r,c;
int dp(int i,int j)
{if(len[i][j]!=0) return len[i][j];  //假设它的值已经被改变,那就是有个更高的在旁边。int maxx=0,s;                       //并且已经找到还能下降的次数。for(int t=0;t<4;t++){int temx=i+dis[t][0],temy=j+dis[t][1];if(temx>=0&&temx<r&&temy>=0&&temy<c&&map[temx][temy]<map[i][j]){s=dp(temx,temy);   //我觉得这是深搜的思路。dp思路仅仅有一点。if(s>maxx)maxx=s;}} len[i][j]=maxx+1;return maxx+1;
}
int main(int i,int j)
{while(scanf("%d%d",&r,&c)!=EOF){ int mx=-1;for(i=0;i<r;i++)for(j=0;j<c;j++)scanf("%d",&map[i][j]);memset(len,0,sizeof(len));for(i=0;i<r;i++)for(j=0;j<c;j++){len[i][j]=dp(i,j);if(len[i][j]>mx) mx=len[i][j];}printf("%d\n",mx); }return 0;
}

POJ 1088 滑雪 (动规)相关推荐

  1. poj 1088 滑雪 详解

    http://poj.org/problem?id=1088 这是一道dp入门题,不过我一直没想明白应该怎么dp.今天,在做自己学校oj的算法基础题时看到这题,标注着dp的分类,加上我一直都比较喜欢做 ...

  2. POJ 1088 滑雪(输出对比)

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

  3. poj 1088 滑雪(线性DP)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 81553   Accepted: 30437 Description ...

  4. 动态规划 POJ 1088 滑雪

    Description Michael 喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知 ...

  5. POJ - 1088 滑雪 【DP】【DFS】

    Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...

  6. poj 1088 滑雪 (dp)

    题目链接 题意就不多解释了,题目思路很简单,搜索就行了,但是暴搜会TLE,但是对于每一个dfs(X, Y),如果参数一样的话结果也是一样的,我们用一个二维数组去保存每次计算的位置的结果,最后从所有的解 ...

  7. poj 1088滑雪

    经典的动态规划问题: 1 #include<iostream> 2 3 using namespace std; 4 5 int b[101][101]; 6 int d[101][101 ...

  8. 关于数位动规(入门到进阶,难度中档)

    数位动规,就是对于数位进行动规(日常一句废话···) 刚好今天听数位dp,就总结一下最近写的题吧.郭神说要学懂数位dp,还是要搞懂它内部是怎么工作的.比如一个有大小的数,我们在这里剥夺它作为一个整数的 ...

  9. CF2B The least round way(贪心+动规)

    题目 CF2B The least round way 做法 后面\(0\)的个数,\(2\)和\(5\)是\(10\)分解质因数 则把方格中的每个数分解成\(2\)和\(5\),对\(2\)和\(5 ...

最新文章

  1. 为什么优秀的程序员都成了无能的领导?
  2. 使用mybatis执行oracle存储过程
  3. Struts2 配置文件手册
  4. 全民创业时代,谁在大潮退去前“活”下来?
  5. Git复习(六)之标签管理
  6. halcon18安装教程
  7. 文本编辑软件_IDE与文本编辑器的比较
  8. python 暂停程序 等待用户输入_遇上Python程序暂停时,不要慌,教你正确的处理方法...
  9. CLion + OpenCV 开发
  10. 转载:C#正则表达式
  11. arcgis中python批处理_基于Python的ArcGIS空间数据格式批处理转换工具开发
  12. hadoop启动mysql服务_Hadoop MySQL 服务自启动配置
  13. 如何高效解决PCBA高精密电阻开尔文测试选针问题?
  14. 使用xlsx.core.min.js进行导入(表格)导出(Excel)功能
  15. matlab加权网络图,如何在matlab中编写求解加权网络的各个节点..._网络编辑_帮考网...
  16. 关于Stream流的使用
  17. python B站UP主所有视频封面下载
  18. 斗图?教你用 Python 制作表情包
  19. BZOJ4872 [SHOI2017]分手是祝愿
  20. 【转】如何成为一名黑客--Eric Steven Raymond

热门文章

  1. 微软 python替代vba_微软将要用Python取代VBA,Python工程师又双叒叕要涨薪了!
  2. java声明接口_为什么必须用Java声明接口?
  3. wow mysql dbc_WoW的DBC文件内容描述-魔兽有爱论坛 - 一个魔兽世界爱好者的聚集地 uiwow.com - Powered by Discuz!...
  4. ajax+time+out,关于ajax的timeout问题
  5. python面对对象计算矩形_python第九课 面向对象
  6. java2实用教程第四版实验指导_Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)...
  7. Java 多线程详解(三)------线程的同步
  8. python 循环控制语句结束,Python是如何循环控制语句的
  9. 巅峰抢购助手pc_豌豆荚、91助手宣布暂停部分服务!第三方应用商店为何式微?...
  10. java 移位 简书_js,java中的 无符号右移位符,左移位符,有符号右移位符