`
Kingson_Wu
  • 浏览: 119558 次
文章分类
社区版块
存档分类
最新评论

数字滑雪

 
阅读更多
10349 数字滑雪
时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0
语言: not limited
描述
你喜欢滑雪吗?肯定有许多人喜欢,因为滑雪的确刺激!
可是为了获得速度,滑的区域必须向低处倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。
现在的问题是:给定区域中各点的高度,想知道这个区域中最长的滑雪坡道长度。
区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:
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更长,事实上,这是最长的一条。
输入格式
输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。
输出格式
13
输出最长滑雪坡道的长度。
输入样例
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
输出样例
25
Hint
动规算法思路:
f矩阵与原高度矩阵一样大小,f(i,j)表示从(i,j)位置开始滑,可以获得的最大滑道的长度。
算法步骤:
(1)将高度矩阵从低到高排序;
(2)按滑点从低到高依次计算最长滑道的长度,存于f(i,j)。

(3)f(i,j)中的最大值即原题所求。



-----------------------------------------------------------

10349数字滑雪(动态规划)

#include<stdio.h>

#include"malloc.h"

intmax(int*length,intLlength)//测试正确

{

intmax=0,i;

for(i=0;i<Llength;i++)

if(max<length[i])max=length[i];

returnmax;

}

int**sort(int**adr,intm,intn)//测试正确

{

inti,j,*temp;

for(i=1;i<m*n;i++)

{

for(j=0;j<i;j++)

if(*adr[i]<*adr[j])

{

temp=adr[j];adr[j]=adr[i];adr[i]=temp;

}

}

returnadr;

}

intjudgeLR(int*p,int*q,intm,intn)//判断是否有左右

{

inti;

for(i=0;i<m;i++)

{

if(p==q+i*n)return1;//无左

if(p==q+n-1+i*n)return2;//无右

}

return0;

}

intjudgeTD(int*p,int*q,intm,intn)//测试正确

{

inti;

for(i=0;i<n;i++)

{

if(p==q+i)return3;//无上

if(p==q+(m-1)*n+i)return4;//无下

}

return0;

}

intmain()

{ int**adr;

intm,n,i,j,flagLR,flagTD,Maxlength;

int*high,*length;

scanf("%d%d",&m,&n);

high=(int*)malloc(m*n*sizeof(int));

length=(int*)malloc(m*n*sizeof(int));//无法定义动态二维数组

adr=(int**)malloc(m*n*sizeof(int*));

for(i=0;i<m*n;i++)

adr[i]=(int*)malloc(m*n*sizeof(int));//定义数组存储地址

for(i=0;i<m;i++)

for(j=0;j<n;j++)

{

scanf("%d",&high[i*n+j]);

adr[i*n+j]=&high[i*n+j];

length[i*n+j]=0;//长度初始化

}

adr=sort(adr,m,n);

for(i=m*n-1;i>=0;i--)

{

flagLR=judgeLR(adr[i],high,m,n);

flagTD=judgeTD(adr[i],high,m,n);

if(flagLR!=1)

{

if((*adr[i]<*(adr[i]-1))&&(length[adr[i]-high]<=length[adr[i]-high-1]))

length[adr[i]-high]=length[adr[i]-high-1]+1;

}

if(flagLR!=2)

{

if((*adr[i]<*(adr[i]+1))&&(length[adr[i]-high]<=length[adr[i]-high+1]))

length[adr[i]-high]=length[adr[i]-high+1]+1;

}

if(flagTD!=3)

{

if((*adr[i]<*(adr[i]-n))&&(length[adr[i]-high]<=length[adr[i]-high-n]))

length[adr[i]-high]=length[adr[i]-high-n]+1;

}

if(flagTD!=4)

{

if((*adr[i]<*(adr[i]+n))&&(length[adr[i]-high]<=length[adr[i]-high+n]))

length[adr[i]-high]=length[adr[i]-high+n]+1;

}

}

Maxlength=max(length,m*n);

printf("%d\n",Maxlength+1);

return0;

}����




分享到:
评论

相关推荐

    基于Java web的滑雪场管理系统设计与实现(源码+数据库+文档).zip

    所以随着各个行业管理方式的数字信息化,管理制度的科学、高效和准确对该产业也至关重要,滑雪场也需要引进数字化管理体系对该产业进行精确高效管理,摆脱繁杂的数据查询和统计,提高管理效率,降低管理成本,推动...

    智慧场馆滑雪场智能化系统设计方案.pdf

    "智慧场馆滑雪场智能化系统设计方案" 本设计方案旨在为智慧场馆滑雪场提供一个智能化的系统设计方案,旨在提高滑雪场的智能化水平,增强客户体验和娱乐性。该设计方案涵盖了滑雪道、雪具大厅和山顶餐厅三个部分,...

    matlab开发-滑雪环境曲线

    QPSK调制是一种广泛使用的数字调制技术,它通过改变载波的相位来传输两个二进制比特流,总共可以表示四种不同的相位状态,因此一次传输两个比特。在实际通信系统中,误码率是衡量信息传输质量的重要指标,它描述了在...

    简单极致的旅行运动滑雪模板_旅游 旅行 红色 运动 滑雪.zip

    在当前的数字化时代,设计模板已经成为了各类活动宣传和策划的重要工具。"简单极致的旅行运动滑雪模板"是一个专门针对旅游、运动滑雪场景设计的视觉素材。它将简洁的设计理念与滑雪运动的特色相结合,旨在为旅游推广...

    数字孪生城市优秀案例汇编(2021年).pdf

    1. 雪场赛道数字孪生分析系统:该系统通过实时数据采集和模拟分析,提高滑雪赛事的安全性和效率。 2. 济南泉域四维地质环境可视化信息系统平台:整合地质、环境、空间等信息,助力地质灾害预警和环境保护。 3. 成宜...

    智慧滑雪场一卡通信息化建设方案.pdf

    综上所述,智慧滑雪场一卡通信息化建设方案以其技术创新和高效管理,正在改变着滑雪行业的运营模式,为滑雪场带来了更高的经济效益和更好的客户体验,同时也为整个行业的数字化转型树立了典范。随着5G、AI等新技术的...

    matlab开发-滑雪场周边环境曲线

    在MATLAB中开发滑雪场周边环境曲线涉及到的是信号处理与通信领域的知识,特别是关于数字调制和信道建模的理论。在这个项目中,我们关注的是在高斯噪声环境下的二进制相移键控(BPSK)调制系统的性能分析。下面将详细...

    滑雪场管理系统论文.doc

    在当今信息化社会,计算机和互联网技术的广泛应用已经渗透到各行各业,滑雪场管理系统的开发旨在实现这一领域的数字化转型。 系统设计之初,首要任务是收集并分析用户需求,这涉及到对滑雪场日常运营的深入了解,...

    亚布力滑雪旅游度假区潜在客源市场调查与研究.doc

    4. 营销策略:加强品牌宣传,利用社交媒体和数字营销手段吸引更广泛的游客群体,尤其是年轻人和家庭。 5. 增强合作:与其他旅行社、酒店和交通公司合作,打造便捷的旅游套餐,吸引更多外地游客。 总之,亚布力滑雪...

    《滑雪歌》课件.pdf

    很抱歉,根据您提供的信息,“《滑雪歌》课件.pdf...如果您需要关于滑雪技术、运动科学或与音乐制作相关的数字技术内容,比如音乐软件、音频编辑或编程在音乐创作中的应用,请提供更具体的信息,我将乐意为您详细介绍。

    springboot425滑雪场管理系统--论文pf.zip

    本系统利用现代信息技术,实现了对滑雪场资源、客户、订单等信息的数字化管理,旨在提高运营效率,降低管理成本,提升服务质量,从而增强滑雪场的竞争力。 二、技术选型与系统架构 1. 技术栈:系统采用SpringBoot ...

    滑雪板3D模型

    3D模型是数字艺术中的一个重要组成部分,通过专业的3D建模软件(如Autodesk 3ds Max,这个文件名中的“max”可能就是指的这种格式)创建。在这个案例中,“max6066.max”很可能是一个3ds Max格式的文件,包含了完整...

    滑雪板3D模型设计

    在3D建模领域,滑雪板3D...总的来说,滑雪板3D模型设计不仅涉及3ds Max软件的使用,还涵盖了3D建模、纹理贴图、光照渲染、运动模拟等多个环节,是数字艺术与工程技术的结合,为户外运动爱好者提供了更直观的产品体验。

    滑雪运动户外网站模板_html5 bootstrap 响应式模板UI前端源码.rar

    在当前数字化时代,一个优秀的网站模板对于任何行业都是至关重要的,特别是在竞争激烈的滑雪运动户外领域。本篇文章将深入探讨“滑雪运动户外网站模板_html5 bootstrap 响应式模板UI前端源码.rar”这一资源,揭示其...

    纯CSS3实现的像素化企鹅滑雪动画效果源码.zip

    在CSS3动画中,数字ID常常用来标识`@keyframes`的不同阶段。如果这是一个图片资源,那么可能是企鹅或其他元素的静态图像,通过CSS的`background-image`属性与动画结合,形成动态效果。 使用须知.txt文件可能包含...

    户外运动行业数字化转型白皮书.pdf

    特别提及了户外运动的分类,如骑行、露营、滑雪等项目,并分析了这些项目在不同国家的发展趋势。 中国户外运动行业的发展历程被分为四个阶段:从20世纪50年代至90年代末的萌芽期,2000年至2013年左右的快速发展期,...

    SkiLiftsApp:用户可以在该应用程序中充值卡以获取给定度假胜地中各种滑雪缆车的滑雪道数量

    《SkiLiftsApp:打造便捷的滑雪度假体验》 ...随着科技的不断发展,我们可以期待更多的创新功能融入其中,进一步提升滑雪度假的数字化体验。无论是新手还是资深滑雪者,都能在SkiLiftsApp的帮助下,尽享雪山之乐。

    数字供应链:正面观察白皮书英文版(42页下载).pdf

    借鉴滑雪运动中正反面翻转的比喻,文档解释了数字供应链如何通过“前翻”(frontside flip)来实现目标,其中前翻相较于后翻(backside flip)而言,一旦掌握了技巧,实际上更容易执行。这个比喻用来说明数字供应链...

Global site tag (gtag.js) - Google Analytics