2 条题解

  • 0
    @ 2025-7-23 9:30:20
    #include <bits/stdc++.h>
    using namespace std;
    const int N=1e2+10;
    const int INF=0x3f3f3f3f;
    int m,n,ans;
    int a[N][N];
    int dx[]={0,0,1,-1};
    int dy[]={1,-1,0,0};
    void dfs(int x,int y,int len){
    	ans=max(ans,len);
    	for(int i=0;i<=3;i++){
    		int xx=x+dx[i];
    		int yy=y+dy[i];
    		if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&a[x][y]>a[xx][yy]){
    			dfs(xx,yy,len+1);
    		}
    	}
    }
    int main(){
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			cin>>a[i][j];
    		}
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			dfs(i,j,1);
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    

    信息

    ID
    1295
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    350
    已通过
    110
    上传者