int C(int n, int跨度 > k) { 矢量<矢量<int> > dp(n + 1, 矢量<int>(n + 1, 1)); // 创建一个大小为(n + 1, n + 1)的dp数组 for (int i = 0; i <= n; i++) //填写数组的第i行 { for (int j = 1; j < i; j++) { dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]; //通过(i - 1; j - 1)和(i - 1; j)重新计算(i;j)位置 } } 返回 dp[n][k]; //返回值 }
n
k
1000 ms 256 Mb Rules for program design and list of errors in automatic problem checking