首先考慮沒有限制的狀況ios
當硬幣被限制數量,須要加入對硬幣狀況的考慮spa
因此設dp[][]ci
記錄湊齊x的種類io
代碼以下stream
#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
while(cin >> x){
cout << ans[x] << endl;
}co
return 0;
}return
咳咳,沒了