zoukankan      html  css  js  c++  java
  • 动态规划 简单的分割问题的解决方案钢棒

    代码第一版 :
    #include <iostream>
    using namespace std;
    
    
    int max(int a,int b)
    {
        if(a>=b)return a;
        else return b;
    }
    
    
    int cut_rod(int *p,int n)
    {
        int q=NULL;
        if(n==0)return 0;
        else for(int i=0;i<n;i++)
        {
            q=max(q,p[i]+cut_rod(p,n-1-i));
        }
        return q;
    }
    
    int main()
    {
        int p[]={1,5,8,9,10,17,17,20,24,30};
        int n;
        cout<<"Please input a int number"<<endl;
        cin>>n;
        int r=cut_rod(p,n);
        cout<<r<<endl;
    
    
        return 0;
    }

    这版代码 由于p[]的原因,仅仅能对1~10求解。

    所以对他进行小小的改进

    第二版

    #include <iostream>
    using namespace std;
    #define NIL (-0x7fffffff-1)
    
    int max(int a,int b)
    {
        if(a>=b)
            return a;
        else
            return b;
    }
    
    
    int cut_rod(int *p,int n)
    {
    
        if(n==0)
            return 0;
        int q=NIL;
        if(n<=10){
            for(int i=0;i<n;i++)
            {
                q=max(q,p[i]+cut_rod(p,n-1-i));
    
            }
            return q;
            }else
                if(n>10){
    
                    int b=n/10;
                    n=n-b*10;
                    if(n==0)
                        q=0;
                    for(int i=0;i<n;i++)
                    {
                        q=max(q,p[i]+cut_rod(p,n-1-i));
                    }
                return q+b*30;
            }
    }
    
    int main()
    {
        int p[]={1,5,8,9,10,17,17,20,24,30};
        int n;
        cout<<"Please input a int number"<<endl;
        cin>>n;
        int r=cut_rod(p,n);
        cout<<r<<endl;
    
        return 0;
    }
    

    这些是动态编程——简单的分割问题的解决方案钢棒

  • 相关阅读:
    创建可视化优秀网站的40个精美jquery插件推荐
    究极程序员跨过的艰难六步
    编写可移植的PHP代码
    程序员如何保持优秀
    网站安全检查列表
    PHP之谈(四)——smarty模板的学习
    PHP
    弱校ACM奋斗史
    学习PHP重在坚持
    About Me
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4566700.html
Copyright © 2011-2022 走看看