TOJ4646划分数

来源:互联网 发布:农村污水治理数据 编辑:程序博客网 时间:2024/06/07 08:07

4646: 划分数

时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte
总提交: 26            测试通过:11

描述

将整数n分成m份,求划分的种数,注意每份不为空,不考虑顺序。
比如整数4的划分,1 1 2 和 1 2 1 以及2 1 1 为同一种划分。

输入

多组测试样例,每组两个整数。n和m。(6<n<=200,2<=m<=6)

输出

每组测试样例输出一行。输出一个整数表示划分的种数。

样例输入

7 3

样例输出

4

提示

7的划分有{1,1,5;1,2,4;1,3,3;2,2,3}

题目来源

2013年武汉科技大学“蓝桥杯”校内选拔赛

//简单dp

#include <stdio.h>#include <string.h>int n,m,ans;int dp[205][10];int main(){    int i,j;    memset(dp,0,sizeof(dp));    for(i=1;i<=200;i++)    {        dp[i][1]=1;    }    for(i=1;i<=200;i++)    {        for(j=2;j<=i&&j<=6;j++)        {            dp[i][j]=dp[i-1][j-1]+dp[i-j][j];        }    }    while(~scanf("%d%d",&n,&m))    {        printf("%d\n",dp[n][m]);    }}



0 0