90pts TLE on #2球条
查看原帖
90pts TLE on #2球条
1272735
lemon2312楼主2024/11/24 21:45
#include<bits/stdc++.h>
using namespace std;
long long a[123][123],dx[]={10,0,1,0,-1},dy[]={10,1,0,-1,0};
long long n,m,st[123][123],ans,now,nx,ny;
int dfs(int x,int y){
	memset(st,0,sizeof(0));
    st[x][y]=1;
    for(int i=1;i<=4;i++){  
		int nx=dx[i]+x,ny=dy[i]+y;
		if(nx<1||ny<1||nx>n||ny>m||a[x][y]<=a[nx][ny]){
			continue;
        }else{
        	dfs(nx,ny);
            st[x][y]=max(st[x][y],st[nx][ny]+1);
		}
    }
    return st[x][y];
}
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++){
			now=dfs(i,j);
			//cout<<now<<endl;
			ans=max(ans,now);
		}
	}
	cout<<ans;
	return 0;
}
2024/11/24 21:45
加载中...