集合的划分

原创 2013年12月04日 21:36:37

Problem Description

设S是一个具有n个元素的集合,S={a1,a2,……,an},现将S划分成k个满足下列条件的子集合S1,S2,……,Sk ,且满足:
1. Si不为空集
2. Si与Sj的交集为空集(1<=i,j<=k i!=j)
3. S1、S2、S3..Sk的并集为S。
则称S1,S2,……,Sk是集合S的一个划分。它相当于把S集合中的n个元素a1 ,a2,……,an 放入k个(0<k≤n<30=无标号的盒子中,使得没有一个盒子为空。请你确定n个元素a1 ,a2 ,……,an 放入k个无标号盒子中去的划分数S(n,k)。

Input

输入有多组数据,对于输入每组数据有两个整数n和k。

Output

对于每组输入输出划分数。

Sample Input

10  6

Sample Output

22827
/*
       解题报告:当第a[n]为第K个集合时,则有S(N-1,K-1)个;
                 当K为K个集合中的一个元素时,则有K*S(N-1,K)个;
                         S(N,K)=S(N-1,K-1)+k*S(N-1,K);
                         初始条件:当K=0时或者N<K时,结果为0;
                                        当N=K时或者K=1时,结果为1;
*/
//标程
#include<stdio.h>
int dg(int x,int y)
{
    if(x<y || y==0) return 0;
    if(x==y || y==1) return 1; 
    return dg(x-1,y-1)+y*dg(x-1,y);
}
int main()
{
    //freopen("a.txt","r",stdin);
    int n,m;
    while(scanf("%d%d",&n,&m)!=EOF)
        printf("%d\n",dg(n,m));
    return 0;
}

集合划分 c++程序 经典问题之一

  • 2011年01月04日 11:11
  • 395B
  • 下载

三集合容斥原理问题

三集合容斥原理问题
  • Yaroo
  • Yaroo
  • 2016年10月01日 15:30
  • 3742

C++动态规划算法之子集的和

子集的和 题目描述 对于从1到N (1 举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的: {3} and {1,2} 这是唯一一种分法(交换集合位置被...
  • C20190413
  • C20190413
  • 2017年06月16日 13:23
  • 268

集合划分问题(贝尔数)

集合划分问题 Time Limit:1000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64u SubmitStatus De...
  • MIKASA3
  • MIKASA3
  • 2016年04月29日 19:52
  • 1449

Set Partition Algorithm(集合划分算法)

转载自:http://blog.sina.com.cn/s/blog_567842410100nf0c.html 设n个元素的集合可以划分为f(n,m)个不同的由m个非空子集组成的集合。 ...
  • godenlove007
  • godenlove007
  • 2012年09月07日 22:23
  • 2364

安卓技术文章集合—184篇文章分类汇总

View篇:UI特效之酷炫抢红包金币下落动画 http://mp.weixin.qq.com/s?__biz=MzI3OTU0MzI4MQ==&mid=2247484357&idx=1&sn=f8f...
  • a2978157
  • a2978157
  • 2017年12月12日 18:22
  • 1695

计蒜客--第30题:合法分数的组合

第30题:合法分数的组合
  • wuyin1993
  • wuyin1993
  • 2015年04月01日 20:38
  • 510

递归与分治策略——集合划分问题,众数问题

集合划分问题n个元素的集合{1,2,.,n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15个不同的非空子集如下:{1},{2},{3},{4}}, {{1,2},...
  • Christophe2008
  • Christophe2008
  • 2011年04月21日 15:05
  • 5879

[递推递归] 集合的划分

题目描述 设s是一个具有n个元素的集合,s={a1,a2,…,an},现将s划分成k个满足下列条件的子集合s1,s2,…,sk,满足: (1)si≠ф (2)si∩sj=ф (1≤i,...
  • Mr_Doublerun
  • Mr_Doublerun
  • 2016年04月30日 17:48
  • 385

数据库系统概念(原书第六版中文版).zip.001

  • 2016年10月10日 20:43
  • 58MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集合的划分
举报原因:
原因补充:

(最多只允许输入30个字)