zoukankan      html  css  js  c++  java
  • hdu 1085 Holding Bin-Laden Captive!(母函数)

    题意:

    硬币有三种值:1,2,5。各自的数量分别是n1,n2,n5。

    问无法凑出的最小币值是多少。

    思路:

    用背包DP好解。

    不过俺用母函数做。其实二者的思路在本质上是一样的,,,,

    看代码,,

    代码:

    int n1,n2,n5;
    bool a[8005], b[8005];
    
    
    int main(){
    
        while(scanf("%d%d%d",&n1,&n2,&n5)!=EOF,n1||n2||n5){
            mem(a,false);
            a[0]=true;
            int maxs=n1+2*n2+5*n5;
    
            mem(b,false);
            rep(i,0,maxs){
                if(a[i]==true){
                    rep(k,0,n1){
                        if(i+k<=maxs){
                            b[i+k]=true;
                        }
                    }
                }
            }
            rep(i,0,maxs) a[i]=b[i];
    
    
            mem(b,false);
            rep(i,0,maxs){
                if(a[i]==true){
                    rep(k,0,n2){
                        if(i+2*k<=maxs){
                            b[i+2*k]=true;
                        }
                    }
                }
            }
            rep(i,0,maxs) a[i]=b[i];
    
    
            mem(b,false);
            rep(i,0,maxs){
                if(a[i]==true){
                    rep(k,0,n5){
                        if(i+5*k<=maxs){
                            b[i+5*k]=true;
                        }
                    }
                }
            }
            rep(i,0,maxs) a[i]=b[i];
    
            int ans=-1;
            rep(i,0,maxs){
                if(a[i]==false){
                    ans=i;
                    break;
                }
            }
            if(ans==-1)
                ans=maxs+1;
            printf("%d
    ",ans);
    
        }
    
        return 0;
    }
  • 相关阅读:
    科技小论文
    一线架构—细化架构
    python20.04.10
    软件架构总结
    信息领域热词分析
    架构即未来阅读笔记二
    构架即未来阅读笔记一
    科技小论文之软件质量
    Pre-architecture的需求
    软件质量
  • 原文地址:https://www.cnblogs.com/fish7/p/4266033.html
Copyright © 2011-2022 走看看