UVA 10285 Longest Run on a Snowboard
来源:互联网 发布:java setcolor 编辑:程序博客网 时间:2024/06/07 23:15
题意:给出一些山的高度 求最长路径长度 每次只能往上下左右4个方向 且只能从高往低处走
比较简单的dp 把高度作为第一维 每次找到高度为i的所有点 向4个方向判断能否更新即可 (可以事先把某个高度对应的点的坐标存起来 这样会更快)
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cctype>#include<cmath>#include<vector>#include<queue>#include<map>#include<hash_map>#include<algorithm>#include<set>#define scnaf scanf#define cahr char#define bug puts("bugbugbug");using namespace std;typedef long long ll;const int mod=1000000007;const int maxn=105;const int inf=1e9;int a[maxn][maxn];int dp[maxn][maxn];int main(){ int T_T; scanf("%d",&T_T); while(T_T--) { int n,m; char name[1005]; scanf("%s%d%d",name,&n,&m); for(int i=1; i<=n; i++) for(int j=1; j<=m; j++) { scanf("%d",&a[i][j]); dp[i][j]=1; } int ans=0; for(int i=100; i>=0; i--) for(int j=1; j<=n; j++) for(int k=1; k<=m; k++) if(a[j][k]==i) { ans=max(ans,dp[j][k]); if(a[j-1][k]<a[j][k]) dp[j-1][k]=max(dp[j-1][k],dp[j][k]+1); if(a[j+1][k]<a[j][k]) dp[j+1][k]=max(dp[j+1][k],dp[j][k]+1); if(a[j][k-1]<a[j][k]) dp[j][k-1]=max( dp[j][k-1],dp[j][k]+1); if(a[j][k+1]<a[j][k]) dp[j][k+1]=max(dp[j][k+1],dp[j][k]+1); } printf("%s: %d\n",name,ans); }}
0 0
- uva 10285 Longest Run on a Snowboard
- UVA 10285 Longest Run on a Snowboard
- UVA 10285 - Longest Run on a Snowboard
- UVa 10285 - Longest Run on a Snowboard
- uva 10285 - Longest Run on a Snowboard
- UVa 10285 - Longest Run on a Snowboard
- UVa 10285 - Longest Run on a Snowboard
- UVa 10285 Longest run on a snowboard
- UVA-10285-Longest Run on a Snowboard
- UVa:10285 Longest Run on a Snowboard
- UVA - 10285 Longest Run on a Snowboard
- uva 10285 Longest Run on a Snowboard
- UVA 10285 - Longest Run on a Snowboard
- UVa 10285 - Longest Run on a Snowboard
- UVA - 10285 Longest Run on a Snowboard
- UVA - 10285 Longest Run on a Snowboard
- UVA 10285 Longest Run on a Snowboard
- UVA 10285 Longest Run on a Snowboard
- uva 11054
- 【Tools】【UML】UML 类图
- Linux Shell中的变量-预定义变量
- 静态包含与动态包含
- iOS开发- 动态获取UIWebView高度
- UVA 10285 Longest Run on a Snowboard
- OpenVPN配置启动出错: CRL: cannot read: crl.pem
- jsp中的几个内置对象
- MFC 列表控件
- C语言基础学习——第10天(文件操作)
- Android开发颜色样式及代码
- 《机器学习实战》二分-kMeans算法(二分K均值聚类)
- 用两个栈模拟队列操作
- Single Number II (java)