SOS!
查看原帖
SOS!
416242
New_hope楼主2022/8/18 22:12
#include<bits/stdc++.h>
#define l 105
using namespace std;

int s[l][l],dp[l][l];

int search(int a,int b){
	if(s[a-1][b]>s[a][b]){
		dp[a-1][b]=max(dp[a-1][b],dp[a][b]+1);
		search(a-1,b);
	}
	if(s[a][b-1]>s[a][b]){
		dp[a][b-1]=max(dp[a][b-1],dp[a][b]+1);
		search(a,b-1);
	}
	if(s[a][b+1]>s[a][b]){
		dp[a][b+1]=max(dp[a][b+1],dp[a][b]+1);
		search(a,b+1);
	}
	if(s[a+1][b]>s[a][b]){
		dp[a+1][b]=max(dp[a+1][b],dp[a][b]+1);
		search(a+1,b);
	}
	return dp[a][b];
}
int main(){
	
	int r,c;
	int minn=200000000,ans=0,sx,sy;
	int i,j;
	cin>>r>>c;
	for(i=1;i<=r;i++){
		for(j=1;j<=c;j++){
			cin>>s[i][j];
			if(s[i][j]<minn){
				minn=s[i][j];
				sx=i;
				sy=j;
			}
		}
	}
	dp[sx][sy]=1;
//	cout<<sx<<" "<<sy<<endl;
	search(sx,sy);
	for(i=1;i<=r;i++){
		for(j=1;j<=c;j++){
//			cout<<dp[i][j]<<" ";
			if(dp[i][j]>ans){
				ans=dp[i][j];
			}
		}
//		cout<<endl;
	}
	cout<<ans;
	return 0;
}
  
 我心态崩了,俩错一超时
2022/8/18 22:12
加载中...