1273:【例9.17】货币系统
1 #include<iostream> 2 using namespace std; 3 4 const int N=1005; 5 int a[N]; 6 long long f[N][N*10]; 7 int main(){ 8 int n,m; 9 cin>>n>>m; 10 for(int i=1;i<=n;i++)cin>>a[i]; 11 //初始化 12 for(int i=0;i<n;i++)f[i][0]=1; 13 for(int i=1;i<=n;i++) 14 for(int j=1;j<=m;j++) 15 for(int k=0;k<=j/a[i];k++) 16 f[i][j]+=f[i-1][j-k*a[i]]; 17 cout<<f[n][m]; 18 return 0; 19 }
注意m范围(10000),因为这个错了好多次。。。┭┮﹏┭┮
另外这题不存在相同的面值,如果存在应当去重!