10分求改
查看原帖
10分求改
1104615
N_ty楼主2024/5/8 20:44
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int r,c,a=0;
int ax[110][110];

int dx[]={-1,0,1,0};
int dy[]={0,-1,0,1};

int sx,sy;

int dm=INT_MIN;

void dfs(int x,int y){
	
	for(int i=0;i<4;i++){
		
		sx=x+dx[i],sy=y+dy[i];
		
		if(sx<1||sx>x||sy<1||sy>y) continue;
		
		else if(ax[x][y]>ax[sx][sy]){
			a++;
			dfs(sx,sy);
		}
	}
	if(a>dm){
		dm=a;
		a=0;
		return;
	}
	
}

int main()
{
	
	cin>>r>>c;
	
	for(int i=0;i<r;i++)
		for(int j=0;j<c;j++)
			cin>>ax[i][j];
			
	
	for(int i=0;i<r;i++)
			for(int j=0;j<c;j++)
				dfs(i,j);
				
		
	cout<<dm;
	return 0;
}

2024/5/8 20:44
加载中...