[SHOI2002]滑雪————搜索

【[SHOI2002]滑雪————搜索】题解:本题主要考察搜索
简要题意:Michael在滑雪,滑的区域必须向下倾斜,求在一个区域中最长的滑坡。
1.搜索:
代码如下:

#include #include #include #include using namespace std; int dx[5]={-1,0,1,0}; int dy[5]={0,1,0,-1}; int flag[301][301],map[301][301]; int n,m,maxn; intdfs(int x,int y) { if(flag[x][y]>0)return flag[x][y]; flag[x][y]=1; for(int i=0; i<=3; i++) for(int j=0; j<=0; j++) { int xx=x+dx[i]; int yy=y+dy[i]; if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&map[x][y]>map[xx][yy]) flag[x][y]=max(flag[x][y],dfs(xx,yy)+1); } return flag[x][y]; } int main() { cin>>n>>m; for(int i=1; i<=n; i++) for(int j=1; j<=m; j++)cin>>map[i][j]; for(int i=1; i<=n; i++) for(int j=1; j<=m; j++) maxn=max(maxn,dfs(i,j)); cout<

    推荐阅读