POJ 1088滑雪
| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 89168 | Accepted: 33474 |
Description
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
一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。
Input
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
#include<cstdio>
#include<iostream>
using namespace std;
#define N 101
int f[N][N];
int a[N][N];
int m,n;
int get(int i,int j){
if(f[i][j]>) return f[i][j];
int maxn=,h;
if(a[i][j]>a[i][j-]&&j->=)
h=get(i,j-)+,maxn=max(maxn,h);
if(a[i][j]>a[i][j+]&&j+<m)
h=get(i,j+)+,maxn=max(maxn,h);
if(a[i][j]>a[i-][j]&&i->=)
h=get(i-,j)+,maxn=max(maxn,h);
if(a[i][j]>a[i+][j]&&i+<n)
h=get(i+,j)+,maxn=max(maxn,h);
return maxn;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<n;i++)
for(int j=;j<m;j++)
scanf("%d",&a[i][j]),f[i][j]=;
int ans=;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
f[i][j]=get(i,j),ans=max(ans,f[i][j]);
printf("%d\n",ans);
return ;
}
#include<cstdio>
#include<iostream>
#define N 101
using namespace std;
int dx[]={,-,,,},
dy[]={,,,,-};
int a[N][N],f[N][N],l,r;
int get(int x,int y){
if(f[x][y]) return f[x][y];
int tmp,t=;
for(int i=;i<=;i++){
int nx=x+dx[i];
int ny=y+dy[i];
if(nx>&&nx<=l&&ny>&&ny<=r&&a[x][y]<a[nx][ny]){
tmp=get(nx,ny)+;
t=max(tmp,t);
}
}
return f[x][y]=t;
}
int main(){
int t,ans=;
scanf("%d%d",&l,&r);
for(int i=;i<=l;i++)
for(int j=;j<=r;j++)
scanf("%d",&a[i][j]);
for(int i=;i<=l;i++)
for(int j=;j<=r;j++)
f[i][j]=get(i,j),ans=max(ans,f[i][j]);
printf("%d\n",ans);
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. 还有呀,就是昨天被一个学姐教育了一番,太感谢了,嘻嘻^ ^ 好了 ...
随机推荐
- 二维数组 string[,]
string[,] strArr = { {"101","电脑"}, ...
- Android项目实战(六):JazzyGridView和JazzyListView的使用
GridView和ListView控件划动的动画效果 ------------------------------------------------------------------------- ...
- 【读书笔记】iOS-NSDictionary与NSArray的比较
有时候为什么不用数组存储然后在数组里查询数值呢?字典(也称为散列表或关联数组)使用的是键查询的优化存储方式.它可以立即找出要查询的数据,而不需要遍历整个数组进行查找.对于频繁的查询和大型的数据集来说, ...
- Spring(四)Bean注入方试
一.构造方法注入 定义:通过构造函数来完成依赖关系的设定 优缺点: 在构造对象的同时,完成依赖关系的建立 如果关联的对象很多,那和不得不在构造方法上加入过多的参数 基中有index:如果指定索引从0开 ...
- Android源码分析之Message
准备开始写点东西,算是对自己阅读源码的一个记录/笔记,也希望能对同样感兴趣的人有所帮助,希望能坚持下去,加油. 在Android的开发中,我们经常用到Handler.postXXX方法,或者View. ...
- office2010安装报错
有没有童鞋,在第一次安装office 2010的时候,中途不管是何原因导致中断或者未安装成功的 然后从第二次开始就一直安装报错??? 哈哈,我最近就遇到了 其他很简单,网上有很多方法,也有很多步骤,包 ...
- Scrum不是万能药,要在时机成熟时推行
敏捷很火热,大家都在谈敏捷:但不是所有团队都适合敏捷! 需要等待时机,时机成熟了,才推! 什么时候算时机成熟呢? 我们的经验是需要两点: 一.团队有三名或以上的研发工程师 : 二. 团队内有一名合适的 ...
- (Ios 实战) 自定义UITableView
自定义UITableView 分成两个部分 1 自定义UITableViewCell 继承UITableViewCell,同时提供接口,根据当前的数据,现实View 2 在UITableView中实 ...
- Java小方法
/** * 计算百分比. * @param dividend 被除数 * @param divisor 除数 * @return 结果 */ private String getPercent(lon ...
- 一个自定义 HBase Filter -“通过RowKeys来高性能获取数据”
摘要: 大家在使用HBase和Solr搭建系统中经常遇到的一个问题就是:“我通过SOLR得到了RowKeys后,该怎样去HBase上取数据”.使用现有的Filter性能差劲,网上也没有现成的自定义Fi ...