zoukankan      html  css  js  c++  java
  • 定义代码Hdu 1058 Humble Numbers(dp)

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!

        目题接链地址http://acm.hdu.edu.cn/showproblem.php?pid=1058

        如果一个数是Humble Number,那么它的2倍,3倍,5倍,7倍仍然是Humble Number

        定义F[i]为第i个Humble Number

        F[n]

        定义F[i]为第i个Humble Number

        F[n]=min(2*f[i],3*f[j],5*f[k],7*f[L]), i,j,k,L在被选择后互相挪动

        每日一道理
    只有启程,才会到达理想和目的地,只有拼搏,才会获得辉煌的成功,只有播种,才会有收获。只有追求,才会品味堂堂正正的人。

        (通过此题懂得到数组有序性特)    

        /*

        这几天测验温习啊,,但是还是要持坚做一道dp的题在睡觉啊,这个还是比较简单的dp题了吧。直接上代码了。

        */

        

    #include <cstdio>
    const int maxn=5843;
    int a[maxn],num;
    void init()
    {
        //printf("init\n");
        int i,k,l,m,n,x[4],minx;
        m=n=k=l=1;
        a[0]=1;
        for(i=1;i<maxn;i++)
        {
            x[0]=a[m-1]*2;
            x[1]=a[n-1]*3;
            x[2]=a[k-1]*5;
            x[3]=a[l-1]*7;
            minx=x[0];
            if(x[1]<minx)minx=x[1];
            if(x[2]<minx)minx=x[2];
            if(x[3]<minx)minx=x[3];
            a[i]=minx;
            //printf("a[%d]=%d\n",i,a[i]);
            if(minx==x[0])m++;
            if(minx==x[1])n++;
            if(minx==x[2])k++;
            if(minx==x[3])l++;
        }
    }
    int main()
    {
        init();
        while(~scanf("%d",&num),num)
        {
            if(num % 10 == 1 && num % 100 != 11)
                printf("The %dst humble number is %d.\n",num,a[num-1]);
            else if(num % 10 == 2 && num % 100 != 12)
                printf("The %dnd humble number is %d.\n",num,a[num-1]);
            else if(num % 10 == 3 && num % 100 != 13)
                printf("The %drd humble number is %d.\n",num,a[num-1]);
            else
                printf("The %dth humble number is %d.\n",num,a[num-1]);
        }
    }

    文章结束给大家分享下程序员的一些笑话语录: 警告
    有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他 说, “你知道不知道这个东西会危害你的健康?我是说, 你有没有注意到香烟 盒上的那个警告(Warning)?”
    小伙子说,“没事儿,我是一个程序员”。
    那妇女说,“这又怎样?”
    程序员说,“我们从来不关心 Warning,只关心 Error”

  • 相关阅读:
    编程实现SQL Server备份和还原
    [推荐]asp.net string与color互换
    ASP.NET执行SQL超时的解决方案
    Starling 环形进度条实现
    [转]列举好游戏应具备的10个要素
    基于Starling的mask实现
    一直以来最头痛的问题:怎么样才能行之有效的解决游戏中后期枯燥的问题呢?求解
    [转]战棋系统的分析
    [转] java开源游戏
    设计模式(基础篇)软件设计七大设计原则(续一)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3061685.html
Copyright © 2011-2022 走看看