AcWing 1023. 买书
解题思路
相关代码
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int a[] = {0,10,20,50,100};
int f[][] = new int[a.length+1][n+1];
f[0][0]=1;
for(int i=1;i<a.length;i++){
for(int j=0;j<=n;j++){
for(int k=0;k*a[i]<=j;k++){
//为什么f[i][j]=f[i-1][j]+f[i-1][j-a[i]]?
//f[i][j]可以分成选0个,选1个,一直到选k个。
f[i][j]=f[i][j]+f[i-1][j-k*a[i]];
}
}
}
System.out.println(f[4][n]);
}
}
原文地址:https://blog.csdn.net/weixin_55057111/article/details/136471342
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!