uva 10285 最长的滑雪路径
来源:互联网 发布:淘宝给商家结算的周期 编辑:程序博客网 时间:2024/06/06 02:18
题意 输入一个城市的滑雪地图 你可以从高的地方滑到伤下左右低的地方
求这个城市的最长滑雪线路长度 即在一个矩阵中找出最长递减连续序列
令d[i][j]为以格子map(i,j)为起点的最长序列
则有状态转移方程d[i][j]=max{d[a][b]}+1
a,b为与i,j相邻且值比i,j小的所有点
#include"cstdio"#include"cstdlib"#include"cstring"#include"climits"#include"queue"#include"algorithm"#include"iostream"using namespace std;int m,n,answer=1;int a[110][110],ans[110][110];int work(int x,int y){int i,j,k,nx,ny;if(ans[x][y]>0)return ans[x][y];ans[x][y]=1;for(i=-1;i<=1;i++)for(j=-1;j<=1;j++)if(i*j==0&&x+i<=m&&x+i>=1&&y+j<=n&&y+j>=1&&a[x+i][y+j]<a[x][y]&&work(x+i,y+j)+1>ans[x][y])ans[x][y]=ans[x+i][y+j]+1;return ans[x][y];}int main(){// freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);int i,j,k;int T;cin>>T;while(T--){string s;cin>>s;answer=1;scanf("%d%d",&m,&n);for(i=1;i<=m;i++)for(j=1;j<=n;j++)scanf("%d",&a[i][j]);memset(ans,-1,sizeof ans);for(i=1;i<=m;i++)for(j=1;j<=n;j++){int temp=work(i,j);if(answer<temp)answer=temp;}cout<<s<<": "<<answer<<endl;}return 0;}
0 0
- uva 10285 最长的滑雪路径
- uva 10285 最长的滑雪路径(动态规划水题)
- 最长滑雪路径
- 习题9-1 UVA 10285 Longest Run on a Snowboard 最长滑雪路径(记忆话搜索)
- 习题9-1 最长的滑雪路径 UVa10285
- uva 10285 Longest Run on a Snowboard 最长滑雪路
- Uva10285 详解 最长的滑雪路径(Longest Run on a SnowBoard)
- uva 103 Stacking Boxes(DAG上的最长路径)
- UVa 10308 - Roads in the North (树上的最长路径)
- poj 1088 lightblueme 最佳的滑雪路径
- uva 10285 滑雪,记忆化搜索
- 图的最长路径
- 图的最长路径
- [dp]poj1088_滑雪 二维形式的最长下降子序列
- 习题9-1(最长滑雪路径)【深搜dfs】+【记忆化搜索】
- UVA 103 Stacking Boxes (dp + DAG上的最长路径 + 记忆化搜索)
- 二叉树的最长路径
- 二叉树的最长路径
- shell运算
- UVA 7040 Color 组合数加容斥原理
- centos win xp双系统 安装手记 9660 grldr U盘安装
- Spring Boot Mongodb
- 无法被远程连接,提示凭证不工作
- uva 10285 最长的滑雪路径
- SuSE Linux防火墙配置
- 目标方向:智能家居
- HDU - 3849 By Recognizing These Guys, We Find Social Networks Useful(桥)
- UVA_548Tree
- VC中SDK与MFC的区别浅析
- 欢迎使用CSDN-markdown编辑器
- java script4创建对象
- Unity3D 获得编辑器的Log信息