• UVa 10285 Longest Run on a Snowboard【记忆化搜索】


    题意:和最长滑雪路径一样,

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring> 
     4 #include <cmath> 
     5 #include<stack>
     6 #include<vector>
     7 #include<map> 
     8 #include<set>
     9 #include<queue> 
    10 #include<algorithm>  
    11 #define mod=1e9+7;
    12 using namespace std;
    13 
    14 typedef long long LL;
    15 const int maxn=105;
    16 int g[maxn][maxn],vis[maxn][maxn],d[maxn][maxn];
    17 int dir[4][2]={-1,0,1,0,0,-1,0,1};
    18 int n,m;
    19 
    20 int dfs(int x,int y){
    21     if(d[x][y]) return d[x][y];//如果已经搜过这一点,则直接返回,不用再重复计算 
    22     int ans=0;
    23     for(int i=0;i<4;i++){ //四个 方向搜 
    24         int nx=x+dir[i][0];
    25         int ny=y+dir[i][1];
    26         if(nx<1||nx>n||ny<1||ny>m) continue;//越界 
    27         if(g[x][y]>g[nx][ny])
    28         ans=max(ans,1+dfs(nx,ny));
    29     }
    30     
    31     if(ans==0) return d[x][y]=1;
    32     return d[x][y]=ans;    
    33 }
    34 
    35 int main(){
    36     int ncase,r,c;
    37     char s[maxn];
    38     scanf("%d",&ncase);
    39     while(ncase--){
    40         cin>>s;
    41         cin>>n>>m;
    42     
    43     for(int i=1;i<=n;i++)
    44         for(int j=1;j<=m;j++) cin>>g[i][j];
    45         
    46         memset(d,0,sizeof(d));
    47         int tmp=0;
    48                 
    49         for(int i=1;i<=n;i++){
    50             for(int j=1;j<=m;j++)
    51              tmp=max(tmp,dfs(i,j));
    52         }       
    53         printf("%s: %d
    ",s,tmp);
    54     }
    55     return 0;    
    56 }
    View Code

    唉= =自己又敲一遍= =运行出来是错的,还对照着以前写的

    真是挫爆了= =以后就算不会,也要自己敲一敲 加油--- go---go--go

  • 相关阅读:
    分布式事务的解决方案
    普通平衡树(bzoj 3224)
    [学习笔记] 树链剖分
    矩阵树定理——矩阵树不是树
    哈夫曼树
    SDOI2018一轮NOI培训 题目整理
    Luogu P1119 灾后重建
    轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑(转)
    单点登录的设计与实现
    PHP如何进阶,提升自己
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4384780.html
Copyright © 2020-2023  润新知