zoj 1366 Cash Machine
生活随笔
收集整理的這篇文章主要介紹了
zoj 1366 Cash Machine
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
01背包加變形 動態(tài)規(guī)劃的時候就犯渾了,每個狀態(tài)都要記錄的,我卻只記錄了當(dāng)前狀態(tài)的!!
#include<stdio.h> #include<string.h> int max(int a,int b) {return (a) > (b) ? (a) : (b); } int a[12],b[12],M,dp[12][100010];int main(){int N,i,j,k,ma;while(scanf("%d",&M)!=EOF){scanf("%d",&N);ma=0;for(i=1;i<=N;i++){scanf("%d %d",&a[i],&b[i]);ma+=a[i]*b[i];}if(N==0||M==0){printf("0\n");continue;}if(ma<=M){printf("%d\n",ma);continue;}memset(dp,0,sizeof(dp));for(i=1;i<=N;i++){for(j=0;j<=M;j++){for(k=0;k<=a[i];k++){if(j>=k*b[i])dp[i][j]=max(dp[i][j],dp[i-1][j-k*b[i]]+k*b[i]);}}}printf("%d\n",dp[N][M]);}return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/woshijishu3/p/3641299.html
總結(jié)
以上是生活随笔為你收集整理的zoj 1366 Cash Machine的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。