zoukankan      html  css  js  c++  java
  • F

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/F

    题目大意:一个菱形,从一个顶点走到另外一个顶点最多可以吃到的香蕉。

    解题思路:对每一个点都求出当前的最优解。最后的顶点的值即为最后的答案

    代码如下:

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    int a[205][205],dp[205][205];
    int main()
    {
         int n,i,j,t,k;
         scanf("%d",&t);
         k=1;
         while(t--)
         { memset(dp,0,sizeof(dp));
              scanf("%d",&n);
              for(i=1;i<=n;i++)
              for(j=1;j<=i;j++)
              scanf("%d",&a[i][j]);
              for(i=n+1;i<=2*n-1;i++)
                   for(j=1;j<=2*n-i;j++)
                   scanf("%d",&a[i][j]);
              dp[1][1]=a[1][1];
              for(i=1;i<=n;i++)
                   for(j=1;j<=i;j++)
              {
                   dp[i+1][j]=max(dp[i+1][j],dp[i][j]+a[i+1][j]);
                   dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+a[i+1][j+1]);
              }
              for(i=n+1;i<=2*n-1;i++)
                   for(j=1;j<=2*n-i;j++)
              dp[i][j]=a[i][j]+max(dp[i-1][j],dp[i-1][j+1]);
              printf("Case %d: %d ",k++,dp[2*n-1][1]);
         }
              return 0;
    }

  • 相关阅读:
    HDU 5918 SequenceI (2016 CCPC长春站 KMP模版变形)
    HDU 4585 Shaolin (set的应用)
    HDU 4329 MAP(stringstream的用法)
    CodeForces 698B Fix a Tree (并查集应用)
    UVALive 2520 Holedox Moving(BFS+状态压缩)
    UVA
    毛竹
    kmp
    博弈论
    最长回文子串
  • 原文地址:https://www.cnblogs.com/441179572qqcom/p/5767325.html
Copyright © 2011-2022 走看看