poj--1088

来源:互联网 发布:淘宝自动发货订单 编辑:程序博客网 时间:2024/05/17 21:42

求有向图上的最长路径长度。

#include<iostream>#include<cstring>#define maxn 120using namespace std;int d[maxn][maxn],h[maxn][maxn];int n,m;int dx[]={1,-1,0,0};int dy[]={0,0,1,-1};int dfs(int x,int y){if(d[x][y])return d[x][y];int temp;int mix=1;for(int i=0;i<4;i++){int nx=x+dx[i];int ny=y+dy[i];if(nx<1||nx>n||ny<1||ny>m)continue;if(h[x][y]>h[nx][ny]){temp=dfs(nx,ny)+1;mix=max(temp,mix);}}return d[x][y]=mix;}void slove(){int temp,ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){temp=dfs(i,j);if(temp>ans){ans=temp;}}}cout<<ans<<endl;}int main(){while(cin>>n>>m){    memset(d,0,sizeof(d));    memset(h,0,sizeof(h));for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){cin>>h[i][j];}slove();}return 0;}


原创粉丝点击