zoukankan      html  css  js  c++  java
  • [HDU]1176免费馅饼

    http://acm.hdu.edu.cn/showproblem.php?pid=1176

    乍一看和塔数很像(http://www.cnblogs.com/sjy123/p/3241995.html),其实就是很像,一个升级版的塔数。

    -----------------------------------------------分割线--------------------------------------------------

             5                         t=0
           456                        t=1
         34567                       t=2
        2345678                    t=3
      123456789                  t=4
    012345678910               t=5
    012345678910               t=6

    总体来说,这道题就是上面这样的塔数,很明显,第i层的0只能从上一层的0,1中最大的来,倒推的话,也是一样的,第i层的0也只能由下一层的0,1来,(t=5之前实际没有0,因为走不到那,但是我们可以假设有),同理,每行的10也只能有下一行9,10推出来。

    -----------------------------------------------分割线------------------------------------------------

    #include"stdio.h"
    #include"stdlib.h"
    int dp[100110][11];
    int maxabc(int a,int b)
    {
        int max;
        max=a>b?a:b;
        return max;
    }
    int main()
    {
        int n,i,j,tmax,x,y;
        while(scanf("%d",&n)&&n)
        {
               for(i=0;i<100110;i++)         //初始化 
                for(j=0;j<11;j++)
                dp[i][j]=0;                      
               for(i=0;i<n;i++)
               {
                  scanf("%d%d",&x,&y);
                  if(i==0)
                  tmax=y;                   //记录最后出现时间 
                  else if(y>tmax) tmax=y;
                  dp[y][x]++;
               }        
               for(i=tmax-1;i>=0;i--)        //倒推 
               {
                    dp[i][0]+=dp[i+1][0]>dp[i+1][1]?dp[i+1][0]:dp[i+1][1];
                    dp[i][10]+=dp[i+1][9]>dp[i+1][10]?dp[i+1][9]:dp[i+1][10];
                    for(j=1;j<=9;j++)
                    dp[i][j]+=maxabc(dp[i+1][j-1],maxabc(dp[i+1][j],dp[i+1][j+1]));
               }  
               printf("%d
    ",dp[0][5]);          
        }
        //system("pause");
    }
  • 相关阅读:
    多个手机号逗号分开
    字符转码
    短信发送AZDG加密算法
    判断手机所属三大运营商 移动、联通、电信
    MD5加密 时间差 流水号等方法
    VS2012的创建单元测试功能
    Oracle数据库操作类及连接方法
    python生成器,函数,数组
    javascript的单线程
    linux下/var/run目录下.pid文件的作用
  • 原文地址:https://www.cnblogs.com/sjy123/p/3242730.html
Copyright © 2011-2022 走看看