算法导论 思考题 16-1 d小题 找零问题
2017-06-12 17:35
567 查看
#include <stdio.h> #include <stdlib.h> #include <limits.h> #define N 52 #define M 4 int coins[M+1]={0,25,6,5,1}; void dp(int *a,int *b) { a[0]=b[0]=0; for(int i=1;i<=N;i++) { a[i]=INT_MAX; b[i]=0; for(int j=1;j<=M;j++) { if(i-coins[j]<0) continue; int x=a[i]; int y=a[i-coins[j]]+1; if(x<=y) { a[i]=x; } else { a[i]=y; b[i]=j; } } } } void printA(int*a) { for(int j=0;j<=N;j++) { printf("%d ",a[j]); } printf("\n"); } void getTrace(int *b) { int j=N; while(j>0) { printf("%d ",coins[b[j]]); j-=coins[b[j]]; } } void main() { int *a=(int *)malloc((N+1)*sizeof(int)); int *b=(int *)malloc((N+1)*sizeof(int)); dp(a,b); //printf("%d",a[M] ); printA(a); printA(b); getTrace(b); getchar(); }
相关文章推荐
- 算法导论第十六章贪心算法-思考题16-1找零问题
- 算法导论 思考题 16-2b 最小平均完成时间调度问题
- 算法导论 思考题 6-3 c,d,e小题
- 算法导论 16-1.1活动选择问题 动态规划解
- 最少找零问题与完全背包模型的一点思考
- 算法导论思考题9-3小顺序统计量问题
- [技术文章搬家]华为oj挑战赛八皇后问题思考
- 多维算法思考(三):AB组合问题
- 从程序员到项目经理(16):原来一切问题都是可以解决的
- 对powerbuilder版本过渡的问题思考,谁能告诉我多版本怎么协作并交互?一个有意思的命题
- 电子邮件营销内容设计需要思考的三个问题
- 算法导论 思考题 13-2
- 几个问题的思考
- 动态规划在求解硬币问题中的应用(JAVA)--币制最大化、找零问题、硬币收集问题
- 思考与问题
- 关于性能问题的思考
- “人民币找零”问题的贪婪法解决算法
- 关于STM32的HAL库中超时函数中的tick溢出后产生的问题的思考及求证
- 思考了一个多月的问题
- 少编码多思考:代码越多 问题越多