硬币找零(动态规划)
来源:互联网 发布:医疗器械软件确认报告 编辑:程序博客网 时间:2024/05/16 13:51
#include "stdlib.h"
#define N 63
void GetChange(int n,int j,int m[],int c[][N] )
{
/*下标从1开始*/
int Max=10000;
int k,i,t;
int b[5]={0}; /*最好作为一个参数*/
for( i=1;i<=n;i++)
c[i][0]=0;
for(i=1;i<=j;i++)
{
if(i>=m[1])
{
c[1][i]=(i%m[1]==0)?i/m[1]:Max;
}
else
c[1][i]=Max;
}
for( i=2;i<=n;i++)
{
for(k=1;k<=j;k++)
{
if(k>=m[i])
{
c[i][k]=min (c[i][k-m[i]]+1,c[i-1][k]);
c[i][k]=min (c[i][k],Max);
}
else
{
c[i][k]=c[i-1][k];
}
}
}
k=j;
t=n;
if(c[t][k]<Max )
{
while(k>0)
{
if(c[t][k]==c[t-1][k]) t--;
else
{
b[t]++;
k-=m[t];
}
}
for(k=1;k<=n;k++)
{
printf("%d:%d ",m[k],b[k]);
}
printf("/n");
}
}
void main()
{
int m[]={0,2,3,5,8} ;
int n=5,j=13,c[6][N];
int i;
for(i=13;i<40;i++)
GetChange(n,i,m,c);
}
- 硬币找零(动态规划)
- 硬币找零问题(动态规划)
- 硬币找零问题(动态规划求解)
- 硬币找零问题 - 动态规划
- 动态规划算法求解硬币找零问题(Java)
- 动态规划算法求解硬币找零问题(Java)
- 硬币找零-记忆化搜索(DP动态规划)
- JAVA动态规划(一)--最少硬币找零问题
- 动态规划算法求解硬币找零问题 (2)
- 动态规划算法求解硬币找零问题(1)
- 动态规划算法求解硬币找零问题(Java)
- 动态规划实例(三):硬币找零方案
- 动态规划实例(九):最小硬币找零数
- 动态规划法求解硬币找零(Java)
- 最少硬币找零问题-动态规划
- 最少硬币找零问题-动态规划
- 算法练习 动态规划 硬币找零
- 动态规划入门之硬币找零问题
- 注意点
- DELPHI在一个窗体中打开另外一个窗体的问题
- 移动窗口内容
- [2006-03-23]是恶意程序导致玩了游戏显示不正常吗?(第1版)
- 十进制转bcd三种算法的比较
- 硬币找零(动态规划)
- The String Formatters of Manor Farm(zz)
- 10g 物理standby建立及常用命令备忘
- 关于C/C++
- 半冷半暖
- 2006-3-23(星期四)
- 不停说抱歉的程序员
- 基于WCDMA的短消息业务协议分析
- java primitive 数据类型长度