开O2和不开O2错的点不一样?
查看原帖
开O2和不开O2错的点不一样?
432183
JoeBiden2020楼主2021/8/23 08:35
#include<bits/stdc++.h>
using namespace std;
int Map[105][105],maxans=-99999;
int r,c;
void dfs(int x,int y,int ans){
	maxans=max(ans,maxans);
	if(Map[x-1][y]<Map[x][y])dfs(x-1,y,ans+1);
	if(Map[x+1][y]<Map[x][y])dfs(x+1,y,ans+1);
	if(Map[x][y+1]<Map[x][y])dfs(x,y+1,ans+1);
	if(Map[x][y-1]<Map[x][y])dfs(x,y-1,ans+1);
	return;
}
int main(){
	cin>>r>>c;
	for(int i=1;i<=r;i++){
		for(int j=1;j<=c;j++){
			cin>>Map[i][j];
		}
	}
	for(int i=1;i<=r;i++){
		for(int j=1;j<=c;j++){
			dfs(i,j,0);
		}
	}
	cout<<maxans;
	return 0;
}
2021/8/23 08:35
加载中...