首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

water~六

2012-10-31 
water~6poj1088http://poj.org/problem?id1088滑雪,DP,水题#include iostream#include fstreamusing

water~6
poj1088http://poj.org/problem?id=1088
滑雪,DP,水题

#include <iostream>#include <fstream>using namespace std;int node[105][105];int dp[105][105];int r,c;int dpit(int i,int j){if(dp[i][j]>0)return dp[i][j];int max=0;if(j>1 && node[i][j]<node[i][j-1]){dp[i][j]=dpit(i,j-1)+1;if(dp[i][j]>max)max=dp[i][j];}if(i>1 && node[i][j]<node[i-1][j]){dp[i][j]=dpit(i-1,j)+1;if(dp[i][j]>max)max=dp[i][j];}if(i<r && node[i][j]<node[i+1][j]){dp[i][j]=dpit(i+1,j)+1;if(dp[i][j]>max)max=dp[i][j];}if(j<c  && node[i][j]<node[i][j+1]){dp[i][j]=dpit(i,j+1)+1;if(dp[i][j]>max)max=dp[i][j];}dp[i][j]=max;return max;}int main(){int i,j;int maxlen=0;//ifstream cin("1.txt");cin>>r>>c;for(i=1;i<=r;i++)for(j=1;j<=c;j++){cin>>node[i][j];dp[i][j]=0;}for(i=1;i<=r;i++)for(j=1;j<=c;j++){dp[i][j]=dpit(i,j);if(dp[i][j]>maxlen)maxlen=dp[i][j];}cout<<maxlen+1<<endl;return 0;}

热点排行