题目:
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
输入描述:
输入两个int整数
输出描述:
输出结果,int型
示例1
输入
7 3
输出
8
题解:(哎,难受,动态规划的题还是不懂)
package test;
/*应用动态规划*/
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int num_apple = sc.nextInt();
int num_panzi = sc.nextInt();
calculate(num_apple,num_panzi);
}
}
public static void calculate(int a,int b){
int[][] count = new int[a+1][b+1];
for(int i=0;i<=a;i++){
count[i][1]=1;
count[i][0]=1;
}
for(int j=0;j<=b;j++){
count[1][j]=1;
count[0][j]=1;
}
for(int i=2;i<=a;i++){
for(int j=2;j<=b;j++){
if(i>=j){
count[i][j] = count[i-j][j]+count[i][j-1];
}else{
count[i][j]=count[i][j-1];
}
}
}
System.out.println(count[a][b]);
}
}