题解nyoj skiing
来源:互联网 发布:数据库有几个事务 编辑:程序博客网 时间:2024/05/16 08:55
题目链接原题地址
经典问题,该问题具有最有子结构性质和无后效性,可以用动态规划,也可以用记忆化搜索,代码如下:
#include <iostream>using namespace std;#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>int d[][2] = {0,1,1,0,0,-1,-1,0};int f[110][110];int map[110][110];int n,m;int check(int x, int y){ if (x >=n || x < 0) return 0; if (y >=m || y < 0) return 0; return 1;}int find(int x, int y){ int maxl = 0; for (int i = 0; i < 4; ++i) { int xx = x + d[i][0]; int yy = y + d[i][1]; if (check(xx,yy)) { if (map[x][y] > map[xx][yy]) { maxl = max(maxl,f[xx][yy]==0?find(xx,yy):f[xx][yy]); } } } return f[x][y] = maxl + 1;}int main(){ int T; cin >> T; while (T--) { cin >> n >> m; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cin >> map[i][j]; } } memset(f,0,sizeof(f)); int ans = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { if (f[i][j] == 0) { ans = max(ans,find(i,j)); } } } cout << ans << endl; } return 0;}
1 0
- 题解nyoj skiing
- NYOJ skiing
- NYOJ skiing
- NYOJ skiing
- NYOJ skiing(BFS)
- NYOJ 10 skiing
- NYOJ 题目10 skiing
- NYOJ 10 skiing 【搜索】
- NYOJ - skiing(搜索&dp)
- nyoj-10-skiing
- NYOJ 10 skiing
- NYOJ 10 skiing
- NYOJ 10 skiing
- nyoj 10 skiing
- NYOJ skiing【BFS】
- nyoj 10 skiing
- nyoj 10 skiing
- NYOJ 10 skiing
- Dijkstra算法
- 语义化
- Android软键盘弹出,底部Menu上移
- Build and Install cx_Oracle on Mac Leopard Intel
- Ford&Fulkerson 最大流问题
- 题解nyoj skiing
- 读取Jar包内的资源或配置文件
- C#中判断空字符串的3种方法性能分析
- 在MySQL中存储图片路径
- DirectX 9.0c 学习笔记--镜像水面
- OpenGL--替换纹理图像的全部或一部分
- 深入理解IGMP协议
- hiho 编程之美2015资格赛(2月29日-模拟日期)
- FastDFS(1):Centos7 安装FastDFS+nginx module