HDU's ACM 2069 Coin Change
2014-11-20 00:37
375 查看
原题链接:HDU's ACM 2069 Coin Change
分析:这题为母函数题,较为特殊的地方是硬币数有限制,故而要在各个方案中记录硬币数,超过限定的不再计数。
WA Code:
<span style="font-family:Microsoft YaHei;font-size:14px;">#include <stdio.h>
#include <string.h>
#define TYPEOFCOINS 5
#define MAXNUMOFCOINS 100
#define MAXN 250+10
const int coins[TYPEOFCOINS] = {1, 5, 10, 25, 50};
int coeff1[MAXN][MAXNUMOFCOINS+1]; // 前下标代表金额,后下标代表硬币数
int coeff2[MAXN][MAXNUMOFCOINS+1];
int res[MAXN];
int init()
{
int i, j, k, l;
memset(coeff1, 0, sizeof(coeff1));
memset(coeff2, 0, sizeof(coeff2));
memset(res, 0, sizeof(res));
coeff1[0][0] = 1;
for(i=0;i<TYPEOFCOINS;++i){
for(j=0;j<MAXN;++j)
for(k=0;k*coins[i]+j<MAXN;++k)
for(l=0;l+k<=MAXNUMOFCOINS;++l)
coeff2[k*coins[i]+j][l+k] += coeff1[j][l];
memcpy(coeff1, coeff2, sizeof(coeff1));
memset(coeff2, 0, sizeof(coeff2));
}
for(i=0;i<MAXN;++i)
for(j=0;j<MAXNUMOFCOINS;++j)
res[i] += coeff1[i][j];
res[0] = 1;
}
int main()
{
int n;
init();
while(scanf("%d", &n) != EOF) {
printf("%d\n", res
);
}
return 0;
}</span>
分析:这题为母函数题,较为特殊的地方是硬币数有限制,故而要在各个方案中记录硬币数,超过限定的不再计数。
WA Code:
<span style="font-family:Microsoft YaHei;font-size:14px;">#include <stdio.h>
#include <string.h>
#define TYPEOFCOINS 5
#define MAXNUMOFCOINS 100
#define MAXN 250+10
const int coins[TYPEOFCOINS] = {1, 5, 10, 25, 50};
int coeff1[MAXN][MAXNUMOFCOINS+1]; // 前下标代表金额,后下标代表硬币数
int coeff2[MAXN][MAXNUMOFCOINS+1];
int res[MAXN];
int init()
{
int i, j, k, l;
memset(coeff1, 0, sizeof(coeff1));
memset(coeff2, 0, sizeof(coeff2));
memset(res, 0, sizeof(res));
coeff1[0][0] = 1;
for(i=0;i<TYPEOFCOINS;++i){
for(j=0;j<MAXN;++j)
for(k=0;k*coins[i]+j<MAXN;++k)
for(l=0;l+k<=MAXNUMOFCOINS;++l)
coeff2[k*coins[i]+j][l+k] += coeff1[j][l];
memcpy(coeff1, coeff2, sizeof(coeff1));
memset(coeff2, 0, sizeof(coeff2));
}
for(i=0;i<MAXN;++i)
for(j=0;j<MAXNUMOFCOINS;++j)
res[i] += coeff1[i][j];
res[0] = 1;
}
int main()
{
int n;
init();
while(scanf("%d", &n) != EOF) {
printf("%d\n", res
);
}
return 0;
}</span>
相关文章推荐
- Hdu-2069_Coin Change
- HDU_2069 Coin Change(生成函数)
- hdu 2069 Coin Change
- hdu 2069 Coin Change
- uva 674 && hdu 2069 coin change(动态规划、母函数)
- uva 674 && hdu 2069 coin change(水完全背包)
- HDU 2069 Coin Change
- UVa 674 & hdu 2069 Coin Change (母函数,dp)
- HDU 2069 Coin Change
- HDU-2069-Coin Change
- HDU 2069 —— Coin Change
- HDU_2069 Coin Change(dfs)
- hdu-2069-Coin Change
- hdu 2069 Coin Change(母函数)
- hdu 2069 Coin Change
- HDU 2069 Coin Change
- HDU 2069 Coin Change【带总数限制的母函数】
- [母函数]HDU 2069 Coin Change
- HDU 2069 Coin Change
- 【HDU】2069 - Coin Change(暴力)