poj 1088 滑雪
来源:互联网 发布:数据港千股千评 编辑:程序博客网 时间:2024/05/23 01:20
滑雪
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 75626 Accepted: 28028
难得一见的中文题 题意就不多做解释 求最长路径
简单点的动规 唯一的麻烦就是没告诉你起点和终点 没关系 直接一个个暴搜反正数据不大。。。
转移方程 dp[ i ] [ j ]=max( dp[ i-1 ] [ j ] ,dp[ i ] [ j-1 ] ,dp[ i+1 ] [ j ] ,dp [ i ] [ j+1 ] )
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int dx[4]={0,1,0,-1};int dy[4]={1,0,-1,0};int dp[105][105];int map[105][105],vis[105][105];int col,row,ans;int search(int x,int y){ int sum,xx,yy,maxn=0; if(dp[x][y]) return dp[x][y]; for(int i=0;i<4;i++) { xx=x+dx[i]; yy=y+dy[i]; if(xx>=0&&xx<row&&yy>=0&&yy<col&&map[xx][yy]<map[x][y]) { sum=search(xx,yy); if(maxn<sum) maxn=sum; } } return maxn+1;}int main(){ int i,j; while(~scanf("%d%d",&row,&col)) { for(i=0;i<row;i++) for(j=0;j<col;j++) scanf("%d",&map[i][j]); for(i=0;i<row;i++) for(j=0;j<col;j++) { dp[i][j]=search(i,j); if(dp[i][j]>ans) ans=dp[i][j]; } /* for(i=0;i<row;i++) { for(j=0;j<col;j++) cout<<dp[i][j]<<" "; cout<<endl; }*/ cout<<ans<<endl; } return 0;}
1 0
- POJ 1088 滑雪
- POJ 1088 滑雪
- POJ 1088 滑雪
- Poj 1088 滑雪
- poj 1088 滑雪
- 滑雪--POJ--1088
- poj 1088 滑雪(DP)
- POJ 1088 滑雪
- POJ 1088 滑雪
- poj 1088 滑雪
- POJ 1088 滑雪
- poj 1088 滑雪
- POJ 1088 滑雪
- poj 1088 滑雪
- poj 1088 滑雪
- POJ 1088 滑雪 DP
- POJ 1088 滑雪
- Poj 1088 滑雪
- poj 1860 Currency Exchange (SPFA、正权回路 bellman-ford)
- 用C/C++实现对STORM的运行信息查看和控制
- 介绍一个垂直滚动的jQuery插件,vTicker
- 我的就错误杭电2024,再议吧
- Java NIO SocketChannel
- poj 1088 滑雪
- 模仿百度搜索的自动提示功能 高大上
- 一行命令搞定node.js升级
- Adobe Photoshop脚本自动化技术
- 设计模式:享元模式
- 中电信推智慧家庭“悦me”产品 融入Xbox One
- 每天学习八小时以下是不道德的(牛人的语言学习历程)--转
- python unittest单元测试方法和用例
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File