本次竟然成功做出一道动态规划题……
当然……这没什么好兴奋的……期间过程中竟然还出现了很严重的后效性……
无妨无妨~
上代码!哎~真是挺开心的~
#include <stdio.h>
int
main()
{
int i, j, k;
int coin[8] = {1,2,5,10,20,50,100,200};
int f[210];
for (i=0; i<210; i++)
f[i] = 0;
f[0] = 1;
for (i=0; i<8;i++)
{
for (j=200; j>0; j--)
for (k = j/coin[i]; k>0; k--)
if (f[j-k*coin[i]])
f[j] += f[j-k*coin[i]];
}
printf("%d\n", f[200]);
return 0;
}
这个还是比较容易的~状态转移方程也很好理解~不说了~