比赛 初一开训小练习 评测结果 MMMMMMMMTM
题目名称 最长滑坡 最终得分 0
用户昵称 运行时间 3.869 s
代码语言 C++ 内存使用 119.12 MiB
提交时间 2026-03-10 20:07:05
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int zlx[4]={0,1,0,-1},xx,xy,zly[4]={1,0,-1,0},dt[510][510],zd,js=1,h,l;
void dfs(int x,int y){
    if(x>l||y>h||x<1||y<1){
        return;
    } 
    for(int i=0;i<4;i++){
        xx=x+zlx[i],xy=y+zly[i];
        if(dt[xy][xx]<=dt[y][x]){
            js++;
            dfs(xx,xy);
            js--;
        }
    }
    zd=max(zd,js);
    return;
}
int main(){
    freopen("shunzhi.in","r",stdin);
    freopen("shunzhi.out","w",stdout);
    cin>>h>>l;
    for(int i=1;i<=h;i++){
        for(int j=1;j<=l;j++){
            cin>>dt[i][j];
        }
    }
    for(int i=1;i<=h;i++){
        for(int j=1;j<=l;j++){
            dfs(i,j);
        }
    }
    cout<<zd;
}