算法:动态规划(记忆化搜索)
用dp时,最好先想好递归的解法,再转换成记忆化搜索。
#include<stdio.h>
#defineMAX101
intheight[MAX][MAX];
intflag[MAX][MAX];
intLongestLength(inti,intj,intr,intc)
{
intmax=0,a[4],k;
if(flag[i][j]!=-1)
returnflag[i][j];
if(i<0||j<0||i>=r||j>=c)
return0;
else
{
if(height[i-1][j]>=height[i][j])
a[0]=0;
else
a[0]=LongestLength(i-1,j,r,c);
if(height[i+1][j]>=height[i][j])
a[1]=0;
else
a[1]=LongestLength(i+1,j,r,c);
if(height[i][j-1]>=height[i][j])
a[2]=0;
else
a[2]=LongestLength(i,j-1,r,c);
if(height[i][j+1]>=height[i][j])
a[3]=0;
else
a[3]=LongestLength(i,j+1,r,c);
for(k=0;k<4;k++)
if(a[k]>max)
max=a[k];
flag[i][j]=max+1;
returnmax+1;
}
}
intmain()
{
intr,c,i,j,max=0;
scanf("%d%d",&r,&c);
for(i=0;i<r;i++)
for(j=0;j<c;j++)
{
scanf("%d",height[i]+j);
flag[i][j]=-1;
}
for(i=0;i<r;i++)
for(j=0;j<c;j++)
if(LongestLength(i,j,r,c)>max)
max=LongestLength(i,j,r,c);
printf("%d/n",max);
return0;
}
分享到:
相关推荐
动态规划算法poj1088滑雪实验报告 动态规划算法poj1088滑雪实验报告
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
百练POJ1088滑雪问题的源代码,C写的,不过后缀是.cpp。写的还算比较易懂,呵呵
poj 1088 滑雪 代码,记忆化搜索
2遍dp poj_3613解题报告 poj_3613解题报告
poj 3414解题报告poj 3414解题报告poj 3414解题报告poj 3414解题报告
poj 1012解题报告poj 1012解题报告poj 1012解题报告poj 1012解题报告
poj 2329解题报告poj 2329解题报告poj 2329解题报告poj 2329解题报告
poj 1440解题报告 poj 1440解题报告 poj 1440解题报告 poj 1440解题报告
poj 3083解题报告poj 3083解题报告poj 3083解题报告poj 3083解题报告
poj 1659解题报告poj 1659解题报告poj 1659解题报告poj 1659解题报告
POJ上面题目的解题报告。涵盖挺多的。可作参考。代码都正确。ACM新手入门必下~~ 加油...
poj生日蛋糕解题报告,希望能够对大家能够有所帮助,不多说了,大家下载
poj 3720解题报告poj 3720解题报告poj 3720解题报告poj 3720解题报告
PKU OJ上的部分解题报告和源程序 分享一下
poj1691解题报告 题目来源:http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1691(POJ No.1691) 解法: 搜索
北大poj解题报告,希望能帮到软件工程的同学,每天一道,持之以恒,熟能生巧,与您共勉!
poj2828解题报告,希望能帮到志同道合的算法爱好者
北大ACM在线评测系统POJ的题目解题报告。涵盖各种类型的acm题目。值得参考借鉴。打包下载。
北大ACM题库系统上的部分解题答案,希望可以i对学习c语言的人有多帮助。