滑雪

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 587  Solved: 219

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

一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减少,在上面的例子中,一条可行的滑坡为25 24 17 16 1(从25开始到1结束),当然25 24 23 22... 2 1更长,事实上是最长的一条。

Input

多个测试数据。每组测试数据第一行为表示区域的数组的行数R和列数C( 1 <= R ,C <= 100) 下面是R行,每行有C个数代表高度(不超过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

WA:
 #include<stdio.h>
#define INF -1
int R,C;
int Ski_area[][];
int dp[][];
int maxn; int max(int a,int b)
{
return a>b?a:b;
} void ski_high(int x,int y,int *length)
{
int j,k,m[];
m[]=Ski_area[x-][y],m[]=Ski_area[x][y-],m[]=Ski_area[x+][y],m[]=Ski_area[x][y+]; k=-;
for(j=;j<;j++)
{
if(Ski_area[x][y]<m[j])
{
if(k==-)
{
k=j;
}
else
{
if(m[k]>m[j])
k=j;
}
} }
if(k==-)
return;
++(*length);
if(k==)
ski_high(x-,y,length);
else if(k==)
ski_high(x,y-,length);
else if(k==)
ski_high(x+,y,length);
else
ski_high(x,y+,length);
} int main()
{
freopen("a.txt","r",stdin);
int i,j,k;
while(scanf("%d%d",&R,&C)==)
{
for(i=;i<=R;i++)
for(j=;j<=C;j++)
{
scanf("%d",&Ski_area[i][j]);
} for(i=;i<=R;i++)
{
Ski_area[i][]=INF;
} for(i=;i<=C;i++)
{
Ski_area[][i]=INF;
} maxn=;
for(i=;i<=R;i++)
for(j=;j<=C;j++)
{
k=;
ski_high(i,j,&k);
dp[i][j]=k; maxn=max(maxn,dp[i][j]);
}
/* for(i=1;i<=R;i++)
{
printf("\n");
for(j=1;j<=C;j++)
printf("%-4d",dp[i][j]);
}*/
printf("%d\n",maxn);
}
return ;
}

AC版:

 #include<stdio.h>

 int dp[][];
int arr[][];
int R,C; int getHigh(int i,int j)
{
if(dp[i][j]>)
{
return dp[i][j];
}
int max=;
if(arr[i][j]>arr[i][j-]&&j->=)
{
int h=getHigh(i,j-)+;
if(h>max)
{
max=h;
}
}
if(arr[i][j]>arr[i][j+]&&j+<C)
{
int h=getHigh(i,j+)+;
if(h>max)
{
max=h;
}
}
if(arr[i][j]>arr[i-][j]&&i->=)
{
int h=getHigh(i-,j)+;
if(h>max)
{
max=h;
}
}
if(arr[i][j]>arr[i+][j]&&i+<R)
{
int h=getHigh(i+,j)+;
if(h>max)
{
max=h;
}
}
return max;
} int main()
{
//freopen("a.txt","r",stdin);
int i,j;
while(scanf("%d%d",&R,&C)!=EOF)
{
for(i=;i<R;i++)
{
for(j=;j<C;j++)
{
scanf("%d",&arr[i][j]);
dp[i][j]=;
}
}
int res=;
for(i=;i<R;i++)
{
for(j=;j<C;j++)
{
dp[i][j]=getHigh(i,j);
if(dp[i][j]>res)
{
res=dp[i][j];
}
}
}
printf("%d\n",res);
}
return ;
}

滑雪 why WA的更多相关文章

  1. 滑雪(简单dp)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 81099   Accepted: 30239 Description Mic ...

  2. OpenJudge/Poj 1088 滑雪

    1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...

  3. L1434滑雪

    一,看题 1,这个长度怎么算的. 从它自己数,可以走下去的位置. 2,这个题的衣服怎么披上去呀. 3,搜索目标,状态. 肯定要用坐标,不然怎么搜索. 4,在前期还是多写把. 5,我靠这个点还是随机的& ...

  4. [USACO2009 OPEN] 滑雪课 Ski Lessons

    洛谷P2948 看到题目就觉得这是动规但一直没想到如何状态转移……看了别人的题解之后才有一些想法 f[i][j]:前i单位时间能力值为j可以滑的最多次数 lessons[i][j]:结束时间为i,获得 ...

  5. CPU状态信息us,sy,ni,id,wa,hi,si,st含义

    转自:http://blog.csdn.net/sasoritattoo/article/details/9318893 转自:http://fishermen.iteye.com/blog/1995 ...

  6. tyvj1004 滑雪

    描述     trs喜欢滑雪.他来到了一个滑雪场,这个滑雪场是一个矩形,为了简便,我们用r行c列的矩阵来表示每块地形.为了得到更快的速度,滑行的路线必须向下倾斜.    例如样例中的那个矩形,可以从某 ...

  7. bzoj 2753: [SCOI2012] 滑雪与时间胶囊 Label:MST

    题目描述 a180285非常喜欢滑雪.他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1<=i<=N)和一高度Hi.a180285 ...

  8. USACO 2014 JAN 滑雪录像

    2. 滑雪录像{silver题3} [问题描述] 冬奥会的电视时刻表包含N (1 <= N <= 150)个节目,每个节目都有开始和结束时间.农民约翰有两台录像机,请计算他最多可以录制多少 ...

  9. USACO 滑雪课程

    #include<cstdio> #include<iostream> using namespace std; int T,S,N,maxd; ],lv[],next[],f ...

随机推荐

  1. 2016.8.14安装myplayer心得

    安装mplayer时,我有两个os是not found状态,我在其他地方找到后 which mplayer,找到mplayer的配置界面,找到not found的部分,并且从usr/lib中找到相应的 ...

  2. vi编辑文件出现Can't open file for writing错误

    可以用 ll 命令查看一下文件的权限,很有可能是没有权限,用chmod命令修改一下权限就可以了(当然是文件所有者或者root用户才能修改),或者切换成root用户(不推荐)

  3. Mac系统搭建Go语言Sublime Text 2环境配置

    Go语言是谷歌自家的编译型语言,旨在不损失性能的前提下降低代码复杂率.其优势是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦. 一.安装Golang的SDK 在官网http: ...

  4. K米测评

    第一部分 调研,评测 K米APP使用体验 从小五音不全,所以KTV这类地方我是能不去就不去的,更别说为了点个歌去下个APP,所以K米是我第一个点歌类APP.说说第一次上手的体验吧,APP颜值一般吧,U ...

  5. javascript表单验证

    表单HTML <form action="" method="post"> <fieldset class="login" ...

  6. COCI2011:友好数对

    校内OJ传送门 一般容斥,具体思想参考代码实现,刚开始是在读入时处理所有数的二进制子集,没看$N$的范围以为复杂度不会爆炸.. 然后复杂度就爆炸了. 小优化: 每次整个载入二进制,计数.这个结束后枚举 ...

  7. JavaWeb---总结(十七)JSP中的九个内置对象

    一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...

  8. Myeclipse如何设置字体大小

    由于Myeclipse一般是英文版的,这就给英语不太好的人带来了一定的麻烦,有时连设置个字体都无法顺利进行!!! 工具/原料   Myeclipse 方法/步骤   双击启动Myeclipse 点击& ...

  9. js020-JSON

    js020-JSON 20.1 语法 JSON的语法可以表示为一下三种类型的值. 简单值 使用与JS相同的语法,可以在JSON中表示字符串.数值.布尔值和null,但是JSON不支持JS中的特殊性Un ...

  10. 创建 sequence

    -- Create sequence create sequence XRMKSD_DET_SEQminvalue 1maxvalue 999999999999999999999999999start ...