博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1088: 滑雪(经典 DP+记忆化搜索)
阅读量:6070 次
发布时间:2019-06-20

本文共 1581 字,大约阅读时间需要 5 分钟。

Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 74996   Accepted: 27818

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 51 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9

Sample Output

25

中文题什么的再也不用操心题目都看不懂了。

。23333

#include
#include
#include
#include
#include
#include
#include
using namespace std;const int M = 105;int n, m;int map[M][M];int ans[M][M];int dx[] = {1, -1, 0, 0};int dy[] = {0, 0, -1, 1};int dp(int x, int y){ int max = 0; if( ans[x][y]>0 ) return ans[x][y]; for(int i=0; i<4; i++) //四个方向 { int xx = x + dx[i]; int yy = y + dy[i]; if( xx>=1 &&xx<=n &&yy>=1 &&yy<=m ) //边界 { if( map[x][y] > map[xx][yy] ) //从高到低才合法 if ( max < dp( xx, yy ) ) max = dp( xx, yy ); } } return ans[x][y] = max + 1;}int main(){ while( scanf( "%d%d", &n, &m ) !=EOF ) { memset( map, 0, sizeof(map) ); memset( ans, 0, sizeof(ans) ); for( int i=1; i<=n; i++ ) for( int j=1; j<=m; j++ ) scanf( "%d", &map[i][j] ); for( int i=1; i<=n; i++ ) for( int j=1; j<=m; j++ ) dp( i, j ); for(int i=1; i<=n; i++) for(int j=1; j<=m; j++) if( ans[1][1] < ans[i][j] ) ans[1][1] = ans[i][j]; printf("%d\n", ans[1][1]); } return 0;}

转载地址:http://gbfgx.baihongyu.com/

你可能感兴趣的文章
MATLAB 读取DICOM格式文件
查看>>
spring事务管理(Transaction)
查看>>
django.contrib.auth登陆注销学习
查看>>
js执行本地exe文件的3种方法
查看>>
理解B树索引
查看>>
vi编辑器的命令集合
查看>>
Mysql利用binlog恢复数据
查看>>
解决 Windows启动时要求验证
查看>>
我的友情链接
查看>>
用yum安装mariadb
查看>>
一点IT"边缘化"的人的思考
查看>>
Gallery循环滑动
查看>>
Sql与C#中日期格式转换总结
查看>>
iOS开发流程总结
查看>>
hadoop datanode 启动出错
查看>>
js颜色拾取器
查看>>
IDEA使用(1)intellIJ idea 配置 svn
查看>>
Thread Safety in Java(java中的线程安全)
查看>>
WPF 降低.net framework到4.0
查看>>
数据管理DMS 全量SQL诊断:你的SQL是健康的蓝色,还是危险的红色?
查看>>