首页 > 学院 > 开发设计 > 正文

数的划分

2019-11-10 17:31:52
字体:
来源:转载
供稿:网友

题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 问有多少种不同的分法。

输入输出格式 输入格式: n,k (6<=n<=200,2<=k<=6)

输出格式: 一个整数,即不同的分法。

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

说明 例如:n=7,k=3 四种分法为:1,1,5;1,2,4;1,3,3;2,2,3; 其实可以用动规做思路: 拆成含1的和不含1 的 例: 10,3 含1:1 2 7 不含1:2 3 5 这样动态转移方程就出来了。。 a[i,j]:=a[i-1,j-1]+a[i-j,j]; (i,1~n…..j:1~k); 初始值为 a[0,0]:=1;


var n,k,i,j:longint; a:array[-10..200,-10..200] of longint;begin readln(n,k); a[0,0]:=1; for i:=1 to n do for j:=1 to k do a[i,j]:=a[i-1,j-1]+a[i-j,j]; write(a[n,k]);end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表