社区讨论
零分代码求调!
P1434[SHOI2002] 滑雪参与者 6已保存回复 13
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 13 条
- 当前快照
- 1 份
- 快照标识符
- @lo8fka1w
- 此快照首次捕获于
- 2023/10/27 17:48 2 年前
- 此快照最后确认于
- 2023/10/27 17:48 2 年前
ORZ
CPP#include <bits/stdc++.h> // x y means x hang y lie
using namespace std;
int dx[4]{0,0,-1,1}; //up down left right
int dy[4]{-1,1,0,0}; //up down left right
int mmap[105][105]{};
int remember[105][105]{}; //remember data
int m{},n{}; //first input n!
int dfs(int x,int y)
{
if(remember[x][y]) return remember[x][y];//return the memory
//not be found yet
remember[x][y] = 1;//init
for(int i{};i<4;i++)// four directions
{
int nx = x+dx[i]; // next x
int ny = y+dy[i]; // next y
if(nx>0 && ny>0 && nx<=n && ny<=m/*check not go out*/ && mmap[nx][ny] < mmap[x][y]/*lower(must) than now place*/)
{
//ok
//notice
dfs(nx,ny);
remember[x][y] = max(remember[x][y], remember[nx][ny]+1);
}
}
return remember[x][y];
}
int main()
{
int ans;
cin>>n>>m;
for(int i{1};i<=n;i++)
{
for(int j{1};j<=m;j++)
{
cin>>mmap[i][j];
}
}
for(int i{1};i<=n;i++)
{
for(int j{1};j<=m;j++)
{
ans = max(ans,dfs(i,j));
}
}
cout<<ans;
return 0;
}
回复
共 13 条回复,欢迎继续交流。
正在加载回复...