dp2接上一篇

简介:


nefu 18 题 滑雪(经典dp)我感觉在hdu上也应该能找到

description

 
每到冬天,信息学院的张老师总爱到二龙山去滑雪,喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。张老师想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。

input

 
输入的第一行表示区域的行数R和列数C(R,C>=1&&R<C<=100)。下面是R行,每行有C个整数,代表高度h(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
一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,
一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。
事实上,这是最长的一条。

sample_output

 
25
 
 
 
 
 
 
 
 
 
 
代码如下:(自己编的,不是太规范,请见谅)
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int dp[105][105];
int data[105][105];
int m,n;
int Find(int i,int j)
{
    int max1,max2;
    int l=0,r=0,u=0,d=0;
    if(dp[i][j]>0)return dp[i][j];
    if(j+1<=n&&data[i][j]>data[i][j+1])//找右边的最大值
    r=Find(i,j+1);
    if(j-1>=1&&data[i][j-1]<data[i][j])//找左边的最大值
    l=Find(i,j-1);
    if(i+1<=m&&data[i][j]>data[i+1][j])//找上边的最大值
    u=Find(i+1,j);
    if(i-1>=1&&data[i][j]>data[i-1][j])//找下边的最大值
    d=Find(i-1,j);
    max1=max(r,l);
    max2=max(u,d);
    dp[i][j]=max(max1,max2)+1;//找最终的最大值
    return dp[i][j];
}
int main()
{
   while(~scanf("%d%d",&m,&n))
   {
      for(int i=1;i<=m;i++)
      for(int j=1;j<=n;j++)
      scanf("%d",&data[i][j]);
      int k=0;
      for(int i=1;i<=m;i++)
      {
          for(int j=1;j<=n;j++)
          {
              k=Find(i,j);
          }
      }
      int max1=-9999999;
      for(int i=1;i<=m;i++)
      {
          for(int j=1;j<=n;j++)
          {
              if(max1<dp[i][j])
              max1=dp[i][j];
          }
      }
      printf("%d\n",max1);
   }
    return 0;
}
 

目录
相关文章
|
9月前
Flutter 一行Row中显示RadioListTile
Flutter 一行Row中显示RadioListTile
145 0
|
数据采集 运维 Prometheus
|
数据采集 移动开发 搜索推荐
|
机器学习/深度学习 安全 搜索推荐
盒马 app iOS 14 Widget 实践
# Widget 简介 Widget 是 iOS 14 重磅推出的新功能,使得用户可以在主屏幕添加小组件,快速浏览 app 提供的重要信息。它的设计与旧版本 macOS 的 Widget 一脉相承,甚至连添加的动画也是去掉了拟物化的水波纹效果。 ![Untitled_design__79_.png](https://intranetproxy.alipay.com/skylark/lark/0
2528 0
|
监控 网络协议 API
iOS支持IPV6
iOS应用支持IPV6,就那点事儿 果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。 一、IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充。目前当我们用i
6913 0
|
SQL 存储 分布式计算
大数据计算系统 Blink 在端侧的应用实践
本文主要介绍了端侧通过Blink任务对埋点数据进行实时聚合和清洗,解决端侧日志时效性问题,并基于实时日志搭建线上监控运维体系,从而提升端侧整体的稳定性。
415 0
大数据计算系统 Blink 在端侧的应用实践
|
JSON 自然语言处理 编译器
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
前言包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器
3997 0
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
|
20天前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141061 20
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
19天前
|
人工智能 运维 前端开发
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
本文介绍基于阿里百炼的DeepSeek-R1满血版模型调用,提供零门槛保姆级2048小游戏开发实战。文章分为三部分:定位与核心优势、实战部署操作指南、辅助实战开发。通过详细步骤和案例展示,帮助开发者高效利用DeepSeek-R1的强大推理能力,优化游戏逻辑与视觉效果,解决官网响应延迟问题,提升开发效率和用户体验。适合企业开发者、教育行业及多模态探索者使用。
70896 17
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】