社区讨论

本蒟蒻想了好几天都没找出问题,求助各位dalao神犇

P1434[SHOI2002] 滑雪参与者 4已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@loczyuq9
此快照首次捕获于
2023/10/30 22:30
2 年前
此快照最后确认于
2023/11/05 08:49
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;

int r,c,h[10000][200],maxn,l[10000][200],ax[4]={0,0,1,-1},ay[4]={1,-1,0,0},xx,yy; 

int csb(int x,int y){
	if(l[x][y]){
		return l[x][y];
	}else{
		l[x][y]=1;
		for(int k=0;k<4;k++){
			xx=x+ax[k];
			yy=y+ay[k];
			if(xx>=0&&yy>=0&&xx<r&&yy<c&&h[x][y]>h[xx][yy]){
				l[xx][yy]=csb(xx,yy);
				l[x][y]=max(l[x][y],l[xx][yy]+1);
			}
		}
		return l[x][y];
	}
}

int main(){
	memset(l,0,sizeof(l));
	scanf("%d%d",&r,&c);
	for(int i=0;i<r;i++){
		for(int j=0;j<c;j++){
			scanf("%d",&h[i][j]);
		}
	}
	for(int i=0;i<r;i++){
		for(int j=0;j<c;j++){
			maxn=max(maxn,csb(i,j));
		}
	}
	printf("%d",maxn);
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...