求助!
查看原帖
求助!
334041
沉鸣cmh楼主2020/9/5 21:47

为什么WA了5个点

#include<bits/stdc++.h>
using namespace std;
int r,c,a[105][105],su[105][105],sum,k;
int dfs(int x,int y){int th=0;
	if(su[x][y])return su[x][y];
	if(x>0&&a[x-1][y]<a[x][y])th=max(th,dfs(x-1,y)+1);
	if(x<r&&a[x+1][y]<a[x][y])th=max(th,dfs(x+1,y)+1);
	if(y>0&&a[x][y-1]<a[x][y])th=max(th,dfs(x,y-1)+1);
	if(y<c&&a[x][y+1]<a[x][y])th=max(th,dfs(x,y+1)+1);
	return su[x][y]=th;
}
int main(){
	cin>>r>>c;for(int i=1;i<=r;i++)for(int j=1;j<=c;j++)cin>>a[i][j];
    for(int i=1;i<=r;i++)
	for(int j=1;j<=c;j++)
	sum=max(sum,dfs(i,j)); 
	cout<<sum;
	return 0;
} 
2020/9/5 21:47
加载中...