P1025 数的划分

题目描述

将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。

例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的。

1,1,51,1,5;
1,5,11,5,1;
5,1,15,1,1.

问有多少种不同的分法。

输入输出格式

输入格式:

 

n,kn,k (6<n \le 2006<n200,2 \le k \le 62k6)

 

输出格式:

 

11个整数,即不同的分法。

 

输入输出样例

输入样例#1: 复制
7 3
输出样例#1: 复制
4

说明

四种分法为:
1,1,51,1,5;
1,2,41,2,4;
1,3,31,3,3;
2,2,32,2,3.

#include<stdio.h>
#include<string.h>
int dp[220][10];
int main()
{
    int n, k, i, j;
    scanf("%d %d", &n, &k);
    dp[0][0] = 1;
    for(i = 1; i <= n; ++i)
    {
        for(j = 1; j <= k; ++j)
        {
            if(j > i)
                dp[i][j] = 0;
            else
                dp[i][j] = dp[i - 1][j - 1] + dp[i - j][j];
        }
    }
    printf("%d\n", dp[n][k]);
    return 0;
}

  

posted @ 2019-01-12 12:42  青衫客36  阅读(281)  评论(0编辑  收藏  举报