#1错误求助!
查看原帖
#1错误求助!
728666
ZY_85楼主2022/9/28 17:31
#include<iostream>
//#include<bits/stdc++.h>
using namespace std;
//#define data dp//data在洛谷编译会失败(可能是关键字)
int A[100][100],data[100][100],n,m,temp;
void DataFS(int x,int y){
	temp++;
	int NX,NY,t=-1,Nextx=-1,Nexty=-1;
	NX=x-1;NY=y;
	if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
		t=A[NX][NY];
		Nextx=NX;
		Nexty=NY;
	}
	NX=x;NY=y+1;
	if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
		t=A[NX][NY];
		Nextx=NX;
		Nexty=NY;
	}
	NX=x+1;NY=y;
	if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
		t=A[NX][NY];
		Nextx=NX;
		Nexty=NY;
	}
	NX=x;NY=y-1;
	if(NX>=0&&NX<n&&NY>=0&&NY<m&&A[NX][NY]<A[x][y]&&A[NX][NY]>t){
		t=A[NX][NY];
		Nextx=NX;
		Nexty=NY;
	}
	if(Nextx!=-1&&Nexty!=-1&&t!=-1)DataFS(Nextx,Nexty);
	return;
}
int main(){
//	freopen("P1434Data.in","r",stdin);
	cin>>n>>m;
	for(int i=0;i<n;i++)for(int j=0;j<m;j++)cin>>A[i][j];
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			temp=0;
			DataFS(i,j);
			data[i][j]=temp;
		}
	}
	int answer=0;
	for(int i=0;i<n;i++)for(int j=0;j<m;j++)if(data[i][j]>answer)answer=data[i][j];
	cout<<answer;
//	fclose(stdin);
	return 0;
}
2022/9/28 17:31
加载中...