社区讨论

为什么用的记忆化第二个点T了..求大佬OrRT

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

讨论操作

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

当前回复
8 条
当前快照
1 份
快照标识符
@mi6tys2f
此快照首次捕获于
2025/11/20 10:47
4 个月前
此快照最后确认于
2025/11/20 10:47
4 个月前
查看原帖
RT #include #include #include using namespace std; int r,c,st=1; int f[101][101],h[101][101]; int dx[5]={0,1,-1,0,0},dy[5]={0,0,0,1,-1}; bool vis[101][101]; int dfs(int x,int y) { int t; for(int i=1;i<=4;i++) { if(h[x][y]>h[x+dx[i]][y+dy[i]]&&x+dx[i]>=0&&x+dx[i]<=r&&y+dy[i]>=0&&y+dy[i]<=c) { f[x][y]=max(f[x][y],dfs(x+dx[i],y+dy[i])+1); } } return f[x][y]; } int main() { scanf("%d%d",&r,&c); for(int i=1;i<=r;i++) for(int j=1;j<=c;j++) { scanf("%d",&h[i][j]); f[i][j]=1; } int maxx=0; for(int i=1;i<=r;i++) for(int j=1;j<=c;j++) { dfs(i,j); if(maxx<f[i][j])maxx=f[i][j]; } printf("%d",maxx); return 0; }

回复

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

正在加载回复...