-
讨论 (4)
最近创建的讨论
-
0评论
求dalao优化 TLE……
- 关押罪犯
- 2017-10-31 11:34:37 @
-
0评论
TLE(6)(8)两个点,求解???
- 海战
- 2017-10-25 10:29:22 @
-
-
贡献 (20)
最被赞同的题解
最近编写的题解
-
递交 (761)
最近递交
状态 题目 递交者 时间 内存 语言 递交时间 P1282 佳佳的魔法照片 伊人 216ms 748.0 KiB C++ 2018-08-08 19:40:43 P1282 佳佳的魔法照片 伊人 136ms 752.0 KiB C++ 2018-08-08 19:38:42 P1282 佳佳的魔法照片 伊人 189ms 756.0 KiB C++ 2018-08-08 19:33:02 P1282 佳佳的魔法照片 伊人 149ms 720.0 KiB C++ 2018-08-08 19:32:18 P1282 佳佳的魔法照片 伊人 45ms 512.0 KiB C++ 2018-08-08 19:31:59 P1380 盗窃-巴黎阳光普照 伊人 20ms 384.0 KiB C++ 2018-06-01 23:34:45 P1380 盗窃-巴黎阳光普照 伊人 38ms 376.0 KiB C++ 2018-06-01 23:34:23 P1027 休息中的小呆 伊人 45ms 384.0 KiB C++ 2018-05-27 22:00:47 P1027 休息中的小呆 伊人 24ms 384.0 KiB C++ 2018-05-27 22:00:36 P1968 金蝉脱壳 伊人 98ms 384.0 KiB C++ 2018-05-23 19:19:36
个人简介
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int r,c,max=-1;
bool flag;
bool bj[505][505];
int a[505][505],dp[505][505];
int dx[5]={0,-1,0,0,1};
int dy[5]={0,0,-1,1,0};
int dfs(int x,int y)
{
if(bj[x][y])
return dp[x][y];
bj[x][y]=1;
flag=0;
for(int i=1;i<=4;++i)
{
int nx=x+dx[i];
int ny=y+dy[i];
if(nx<=0||nx>=r+1||ny<=0||ny>=c+1||a[nx][ny]>a[x][y])
continue;
dp[x][y]=max(dp[x][y],dfs(nx,ny)+1);
}
if(!flag)
dp[x][y]=1;
ans=max(max,dp[x][y]);
return dp[x][y];
}
int main()
{
cin>>r>>c;
for(int i=1;i<=r;++i)
for(int j=1;j<=c;++j)
cin>>a[i][j];
for(int i=1;I,=r;++i)
for(int j=1;j<=c;++j)
dfs(i,j);
cout<<ans;
return 0;
}