poj 1088 滑雪 记忆化搜索
来源:互联网 发布:音频数据压缩算法 编辑:程序博客网 时间:2024/06/06 05:10
点击打开链接
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long ll;#define mem(a) memset(a,0,sizeof(a))#define mp(x,y) make_pair(x,y)const int INF = 0x3f3f3f3f;const ll INFLL = 0x3f3f3f3f3f3f3f3fLL;inline ll read(){ ll x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}//////////////////////////////////////////////////////////////////////////const int maxn = 100+10;int n,m,mp[maxn][maxn],dp[maxn][maxn];int dx[4] = {0,0,1,-1};int dy[4] = {1,-1,0,0};int dfs(int x,int y){if(dp[x][y]) return dp[x][y];for(int i=0; i<4; i++){int tx=x+dx[i],ty=y+dy[i];if(tx<1 || tx>n || ty<1 || ty>m || mp[x][y]<=mp[tx][ty]) continue;int tmp = dfs(tx,ty);if(tmp >= dp[x][y]){dp[x][y] = tmp+1;}}return dp[x][y];}int main(){n=read(),m=read();for(int i=1; i<=n; i++)for(int j=1; j<=m; j++)mp[i][j] = read();int ans = 0;mem(dp);for(int i=1; i<=n; i++)for(int j=1; j<=m; j++){int t = dfs(i,j);if(ans < t)ans = t;}cout << ans+1 << endl; return 0;}
0 0
- POJ 1088 滑雪 记忆化搜索
- poj 1088 滑雪[zz] 记忆化搜索
- poj 1088 滑雪 记忆化搜索
- POJ 1088 滑雪(DP+记忆化搜索)
- poj 1088 滑雪 ( 记忆化搜索 )
- poj 1088 滑雪(记忆化搜索/LIS)
- poj 1088 滑雪 记忆化搜索
- poj-1088-滑雪(记忆化搜索)
- POJ 1088 滑雪(记忆化搜索)
- poj 1088滑雪 记忆化搜索
- POJ 1088 滑雪 (记忆化搜索)
- POJ 1088 滑雪 DFS 记忆化搜索
- POJ 1088滑雪(记忆化搜索)
- poj 1088 滑雪_记忆化搜索
- POJ 1088 滑雪【记忆化搜索】
- poj 1088 滑雪(记忆化搜索)
- POJ-1088 滑雪 记忆化搜索
- POJ 1088 滑雪 DFS 记忆化搜索
- 蓝桥杯 ALGO-1区间k大数查询
- 命令者模式
- linux gcc g++编译命令选项
- C# 实现简易QQ界面
- opencv学习_7 (颜色空间)
- poj 1088 滑雪 记忆化搜索
- Android 6.0权限申请详解及权限资料整理
- 162. Find Peak Element
- csdn自带Markdown教程
- MySQL的主从、主主、被动主主搭建
- filter过滤器利用HttpServletResponseWrapper操作Response对象
- 数据结构实验之排序五:归并求逆序数
- 页面主体高度不固定,如何让页面的footer始终在最底部
- eclipse创建maven