求助!80分,#8和#10 WA
查看原帖
求助!80分,#8和#10 WA
304299
Fuyuxin楼主2021/4/3 12:08
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int r,c,h[101][101],m[101][101],l,dx[4]={-1,0,0,1},dy[4]={0,-1,1,0};
int cnt(int x,int y){
	if(m[x][y]) return m[x][y];
	if(x>0&&x<=r&&y>0&&y<=c){
		for(int i=0;i<4;i++)
			if(h[x+dx[i]][y+dy[i]]<h[x][y])
				m[x][y]=max(m[x][y],cnt(x+dx[i],y+dy[i])+1);
	}
	else return 0;
	return m[x][y];
}
int main()
{
	cin>>r>>c;
	memset(h,-1,sizeof(h));
	for(int i=1;i<=r;i++)
		for(int j=1;j<=c;j++)
			cin>>h[i][j];
	for(int i=1;i<=r;i++)
		for(int j=1;j<=c;j++)
			l=max(l,cnt(i,j));
	cout<<l;
	return 0;
}
2021/4/3 12:08
加载中...