POJ 1276 Cash Machine

來源:互聯網
上載者:User

動態規劃,多重背包

題目大意:

有各種不同面值的貨幣,每種面值的貨幣有不同的數量,請找出利用這些貨幣可以湊成的最接近且小於等於給定的數字cash的金額。

// Time 79ms; Memory 640K#include<iostream>using namespace std;int v,f[100010];void zeroone_pack(int c)  //01背包{for(int i=v;i>=c;i--) if(!f[i]){f[i]=f[i-c];}}void complete_pack(int c)//完全背包{for(int i=c;i<=v;i++) if(!f[i]){f[i]=f[i-c];}}void multiple_pack(int c,int n)//多重背包{if(n>=v){complete_pack(c);return;}int k=1;while(k<n){zeroone_pack(c*k);n-=k;k*=2;}zeroone_pack(c*n);}int main(){int i,n,c,m;while(cin>>v>>m){memset(f,0,sizeof(f));f[0]=1;for(i=0;i<m;i++){cin>>n>>c;multiple_pack(c,n);}for(i=v;i>=0;i--) if(f[i]){cout<<i<<endl;break;}}return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.