对样例输出1?
查看原帖
对样例输出1?
332549
幽灵特工楼主2020/9/8 20:46
#include <bits/stdc++.h>
using namespace std;

int r,c;
int x[102][102]={0};
int visit[102][102]={0};
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
int ans=-1;

int dfs(int a,int b){
	if(visit[a][b])return visit[a][b];
	visit[a][b]=1;
	for(int i=0;i<4;i++){
		int xx=a+dx[i];
		int yy=b+dy[i];
		if(x[xx]&&x[yy]&&x[a]>x[xx]&&x[b]>x[yy]){
			dfs(xx,yy);
			visit[a][b]=max(visit[a][b],visit[xx][yy]+1);
		}
	}
	return visit[a][b];
}
int main(){
	cin>>r>>c;
    for(int i=1;i<=r;i++){
    	for(int j=1;j<=c;j++){
    		cin>>x[i][j];
		}
	}
	for(int i=1;i<=r;i++){
		for(int j=1;j<=c;j++){
			ans=max(ans,dfs(i,j));
		}
	}
	cout<<ans;
}
2020/9/8 20:46
加载中...