题解 | #放苹果#抄大佬代码,动态规划
放苹果
http://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int m=sc.nextInt();//苹果
int n=sc.nextInt();//盘子
int[][] dp=new int[m+1][n+1];
//当没有苹果时,只有一种摆法
for(int j=0;j<=n;j++){
dp[0][j]=1;
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
//当苹果数小于盘子数时,忽略一个盘子在n-1个盘子上放置苹果
if(i<j){
dp[i][j]=dp[i][j-1];
}
//当苹果数大于盘子数时,可以选择一个盘子忽略,也可以将剩余的苹果放进去
else{
dp[i][j]=dp[i][j-1]+dp[i-j][j];
}
}
}
System.out.println(dp[m][n]);
}
}
}