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;
}����
分享到:
相关推荐
所以随着各个行业管理方式的数字信息化,管理制度的科学、高效和准确对该产业也至关重要,滑雪场也需要引进数字化管理体系对该产业进行精确高效管理,摆脱繁杂的数据查询和统计,提高管理效率,降低管理成本,推动...
"智慧场馆滑雪场智能化系统设计方案" 本设计方案旨在为智慧场馆滑雪场提供一个智能化的系统设计方案,旨在提高滑雪场的智能化水平,增强客户体验和娱乐性。该设计方案涵盖了滑雪道、雪具大厅和山顶餐厅三个部分,...
QPSK调制是一种广泛使用的数字调制技术,它通过改变载波的相位来传输两个二进制比特流,总共可以表示四种不同的相位状态,因此一次传输两个比特。在实际通信系统中,误码率是衡量信息传输质量的重要指标,它描述了在...
在当前的数字化时代,设计模板已经成为了各类活动宣传和策划的重要工具。"简单极致的旅行运动滑雪模板"是一个专门针对旅游、运动滑雪场景设计的视觉素材。它将简洁的设计理念与滑雪运动的特色相结合,旨在为旅游推广...
1. 雪场赛道数字孪生分析系统:该系统通过实时数据采集和模拟分析,提高滑雪赛事的安全性和效率。 2. 济南泉域四维地质环境可视化信息系统平台:整合地质、环境、空间等信息,助力地质灾害预警和环境保护。 3. 成宜...
综上所述,智慧滑雪场一卡通信息化建设方案以其技术创新和高效管理,正在改变着滑雪行业的运营模式,为滑雪场带来了更高的经济效益和更好的客户体验,同时也为整个行业的数字化转型树立了典范。随着5G、AI等新技术的...
在MATLAB中开发滑雪场周边环境曲线涉及到的是信号处理与通信领域的知识,特别是关于数字调制和信道建模的理论。在这个项目中,我们关注的是在高斯噪声环境下的二进制相移键控(BPSK)调制系统的性能分析。下面将详细...
在当今信息化社会,计算机和互联网技术的广泛应用已经渗透到各行各业,滑雪场管理系统的开发旨在实现这一领域的数字化转型。 系统设计之初,首要任务是收集并分析用户需求,这涉及到对滑雪场日常运营的深入了解,...
4. 营销策略:加强品牌宣传,利用社交媒体和数字营销手段吸引更广泛的游客群体,尤其是年轻人和家庭。 5. 增强合作:与其他旅行社、酒店和交通公司合作,打造便捷的旅游套餐,吸引更多外地游客。 总之,亚布力滑雪...
很抱歉,根据您提供的信息,“《滑雪歌》课件.pdf...如果您需要关于滑雪技术、运动科学或与音乐制作相关的数字技术内容,比如音乐软件、音频编辑或编程在音乐创作中的应用,请提供更具体的信息,我将乐意为您详细介绍。
本系统利用现代信息技术,实现了对滑雪场资源、客户、订单等信息的数字化管理,旨在提高运营效率,降低管理成本,提升服务质量,从而增强滑雪场的竞争力。 二、技术选型与系统架构 1. 技术栈:系统采用SpringBoot ...
3D模型是数字艺术中的一个重要组成部分,通过专业的3D建模软件(如Autodesk 3ds Max,这个文件名中的“max”可能就是指的这种格式)创建。在这个案例中,“max6066.max”很可能是一个3ds Max格式的文件,包含了完整...
在3D建模领域,滑雪板3D...总的来说,滑雪板3D模型设计不仅涉及3ds Max软件的使用,还涵盖了3D建模、纹理贴图、光照渲染、运动模拟等多个环节,是数字艺术与工程技术的结合,为户外运动爱好者提供了更直观的产品体验。
在当前数字化时代,一个优秀的网站模板对于任何行业都是至关重要的,特别是在竞争激烈的滑雪运动户外领域。本篇文章将深入探讨“滑雪运动户外网站模板_html5 bootstrap 响应式模板UI前端源码.rar”这一资源,揭示其...
在CSS3动画中,数字ID常常用来标识`@keyframes`的不同阶段。如果这是一个图片资源,那么可能是企鹅或其他元素的静态图像,通过CSS的`background-image`属性与动画结合,形成动态效果。 使用须知.txt文件可能包含...
特别提及了户外运动的分类,如骑行、露营、滑雪等项目,并分析了这些项目在不同国家的发展趋势。 中国户外运动行业的发展历程被分为四个阶段:从20世纪50年代至90年代末的萌芽期,2000年至2013年左右的快速发展期,...
《SkiLiftsApp:打造便捷的滑雪度假体验》 ...随着科技的不断发展,我们可以期待更多的创新功能融入其中,进一步提升滑雪度假的数字化体验。无论是新手还是资深滑雪者,都能在SkiLiftsApp的帮助下,尽享雪山之乐。
借鉴滑雪运动中正反面翻转的比喻,文档解释了数字供应链如何通过“前翻”(frontside flip)来实现目标,其中前翻相较于后翻(backside flip)而言,一旦掌握了技巧,实际上更容易执行。这个比喻用来说明数字供应链...