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];}
}