coin change

首先考虑没有限制的情况

当硬币被限制数量,需要加入对硬币情况的考虑

所以设dp[][]

记录凑齐x的种类

代码如下

#include <iostream>
using namespace std;
int main(){
int dp[251][101]={0},ans[251]={0};
int type[5]={1,5,10,25,50},x,i,j,k;
dp[0][0]=1;
for(i=0;i<5;i++)
for(j=1;j<101;j++)
for(k=type[i];k<251;k++)
dp[k][j]+=dp[k-type[i]][j-1];
for(i=0;i<251;i++)
for(j=0;j<101;j++)
ans[i]+=dp[i][j];

while(cin >> x){
cout << ans[x] << endl;
}

return 0;
}

咳咳,没了

posted @ 2020-02-09 21:56  sos3210  阅读(172)  评论(0)    收藏  举报