1342 摆放小球
1342 摆放小球
⭐️考点:第二类斯特林数
🌟难度:中等
📖
📚
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main {
static long MOD = 1000000007;
static long[][] dp = new long[1010][1010];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
for(long[] x : dp){
Arrays.fill(x,-1);
}
System.out.println(stirling(n ,k));
}
static long stirling(int n,int k){
if(k > n || k == 0) return 0;
if(k == n || k == 1) return 1;
if(dp[n][k] != -1){
return dp[n][k];
}
dp[n][k] = (1l * k * stirling(n - 1,k) % MOD + stirling(n - 1,k - 1)) % MOD;
return dp[n][k];
}
}