zoukankan      html  css  js  c++  java
  • 滑雪

    记忆化(应该是)不然会T.....去一次找最大值就好了:

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cmath>
     4 #include<vector>
     5 #include<algorithm>
     6 using namespace std;
     7 int a[110][110];
     8 int n,m;
     9 int ans=0;
    10 int ans1[4]={1,-1,0,0};
    11 int ans2[4]={0,0,1,-1};
    12 int b[110][110]={0};
    13 int sum=0;
    14 int dfs(int x,int y)
    15 {
    16     if(b[x][y]) return b[x][y];//如果原来搜过,就直接反回 
    17     sum=1;
    18     for(int i=0;i<4;i++)
    19     {
    20         int tx=x+ans1[i];
    21         int ty=y+ans2[i];
    22         if(tx>=1&&ty>=1&&tx<=n&&ty<=m&&a[tx][ty]<a[tx-ans1[i]][ty-ans2[i]])//
    23         {
    24             sum=max(sum,dfs(tx,ty)+1);
    25         }
    26     }
    27     b[x][y]=sum;//记录 
    28     return sum;
    29 }
    30 int main()
    31 {
    32     cin>>n>>m;
    33     for(int i=1;i<=n;i++)
    34     {
    35         for(int j=1;j<=m;j++)
    36         {
    37             cin>>a[i][j];
    38         }
    39     }
    40     int maxn=0;
    41     for(int i=1;i<=n;i++)
    42     {
    43         for(int j=1;j<=m;j++)
    44         {
    45             ans=max(ans,dfs(i,j));//比较 
    46         }
    47     }
    48     cout<<ans;
    49 } 

    .....

  • 相关阅读:
    网络编程[28]
    网络编程[30]
    网络编程[20]
    网络编程[29]
    网络编程[19]
    网络编程[15]
    网络编程[12]
    hdu 3802【Ipad,IPhone】
    hdu 2616【Kill the monster】
    hdu 1026【Ignatius and the Princess I】
  • 原文地址:https://www.cnblogs.com/dai-jia-ye/p/9442421.html
Copyright © 2011-2022 走看看