coin change

0
12

首先考虑没有限制的情况

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

所以设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;
}

咳咳,没了

<

发布回复

请输入评论!
请输入你的名字