秒出 最简单的版本!!!
//动态规划版本
static int[][] dp;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
int n =in.nextInt();
int s = in.nextInt();
dp = new int[n+1][s+1];
Arrays.fill(dp[1],1);
dp[1][0] =0;
get(n,s);
System.out.println(dp[n][s]);
}
}
private static void get(int n,int s){
if (dp[n][s] != 0) return ;
for (int i = 2; i <= n; i++) {
for (int j = i+1; j <= s; j++) {
dp[i][j] = (dp[i][j-i] + dp[i-1][j-i])%1000000007;
}
}
}