• poj 1088 滑雪


    思路:dfs

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <algorithm>
    using namespace std;
    #define N 105
    int dx[]={-1,0,1,0};
    int dy[]={0,-1,0,1};
    int n,m,vis[N][N],d[N][N];
    bool judge(int x,int y)
    {
        if(x>=0&&y>=0&&x<n&&y<m) return 1;
        return 0;
    }
    int dfs(int x,int y)
    {
        if(vis[x][y]!=0) return vis[x][y];
        int maxn=0;
        for(int i=0;i<4;i++)
        {
            int tx=x+dx[i];
            int ty=y+dy[i];
            if(judge(tx,ty)&&d[tx][ty]<d[x][y])
            {
                vis[tx][ty]=dfs(tx,ty);
                maxn=max(maxn,vis[tx][ty]);
            }
        }
        return maxn+1;
    }
    int main()
    {
        int i,j,k;
        while(scanf(" %d%d",&n,&m)!=EOF)
        {
            for(i=0;i<n;i++)
                for(j=0;j<m;j++)
                    scanf("%d",&d[i][j]);
            memset(vis,0,sizeof(vis));
            int ans=0;
            for(i=0;i<n;i++)
            {
                for(j=0;j<m;j++)
                {
                    vis[i][j]=dfs(i,j);
                    ans=max(ans,vis[i][j]);
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    扫描线
    Assign the task HDU
    Can you answer these queries? HDU
    Tunnel Warfare HDU
    Mayor's posters POJ
    not friendly,
    招财铃:即时通信 openfire ,
    不再是可怕的汇编,
    转:宏指令,
    build path,
  • 原文地址:https://www.cnblogs.com/zuferj115/p/5434366.html
Copyright © 2020-2023  润新知