AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 其它
    • 题解
    • 分享
    • 商店
    • 问答
  • 吐槽
  • 登录/注册

AcWing 901. 滑雪    原题链接    简单

作者: 作者的头像   徐学神 ,  2023-01-25 21:31:36 ,  所有人可见 ,  阅读 15


1


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll dx[4]={1,-1,0,0};
ll dy[4]={0,0,1,-1};
ll r,c,a[310][310],dp[310][310],ans;
ll dfs(ll x,ll y) {
    if(dp[x][y]>0) return dp[x][y];
    dp[x][y]=1;
    for(ll i=0;i<4;i++) {
        ll nx=x+dx[i];
        ll ny=y+dy[i];
        if(nx>0 && nx<=r && ny>0 && ny<=c && a[nx][ny]<a[x][y]) {
            dp[x][y]=max(dfs(nx,ny)+1,dp[x][y]);
        }
    }
    return dp[x][y];
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>r>>c;
    for(ll i=1;i<=r;i++)
        for(ll j=1;j<=c;j++)
            cin>>a[i][j];
    for(ll i=1;i<=r;i++) {
        for(ll j=1;j<=c;j++) {
            ans=max(dfs(i,j),ans);
        }
    }
    cout<<ans;
    return 0;
} 

0 评论

你确定删除吗?
1024
x

© 2018-2023 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息