求大佬调代码
查看原帖
求大佬调代码
543206
shiroko2008楼主2022/2/9 13:32
#include<iostream>
#include<algorithm>
using namespace std;
int dp[1000][1000],h[1000][1000];
int n;
void l(int i,int j) {
	if (!(i&&j)) return ;
	if (dp[i][j]) return ;
	int maxn=0;
	int a,b,c,d;
	if (h[i-1][j]<h[i][j])l(i+1,j);
	if (h[i+1][j]<h[i][j])l(i-1,j);
	if (h[i][j-1]<h[i][j])l(i,j-1);
	if (h[i][j+1]<h[i][j])l(i,j+1);
	if (h[i-1][j]<h[i][j]) maxn=max(dp[i-1][j],maxn);
	if (h[i+1][j]<h[i][j]) maxn=max(dp[i+1][j],maxn);
	if (h[i][j-1]<h[i][j]) maxn=max(dp[i][j-1],maxn);
	if (h[i][j+1]<h[i][j]) maxn=max(dp[i][j+1],maxn);
	dp[i][j]++;
}
int main() 
{
	cin>>n;
	for (int i=0;i<1000;i++) for (int j=0;j<1000;j++) h[i][j]=(1<<30);
	for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) cin>>h[i][j];
	int maxn=0;
	dp[1][1]=1;
	l(1,1);
	for (int i=1;i<=n;i++){ 
		for (int j=1;j<=n;j++) {
			if (dp[i][j]>maxn) maxn=dp[i][j];
			cout<<dp[i][j]<<' ';
		}
		cout<<endl;
	}
	cout<<maxn;
	return 0;
}
2022/2/9 13:32
加载中...