博文
又一道程序设计题:有趣的分组(2009-05-22 16:43:00)
摘要: 今天朋友要我帮忙解决个问题,还是蛮有趣的,于是就写了这个
有趣的分组:A Funny Grouping
1.Problem
L班有14名成员,代号分别以英文字母命名(A~N),现在分组完成一件事情,分组要求包括所有成员,一组中最多允许3名成员,有些成员可以一个人一组,同时也允许某些组员兼任在其他小组中,但是根据性格和特长的特点,只能作特定的搭配。搭配被保存在IN.txt中。现要求分组越少越好。求最少应分多少组,该组数下各方案是怎样分的。
2.Input
输入数据包含每一小组成员,一共33个组,组和组之间用一个‘,’或一个转行符隔开,组内成员之间没有间隔。
3.Output
首先按照以下格式输出分组的数目(max),可行方案数(num)。
The number is (max).
We have find (num) arraies suitable.
然后接下来的每行中,首先输出方案号,然后一个冒号,然后是方案中每一组的编号,编号之间用空格隔开。
4.Sample Input:(IN.txt)
ABC,BCE,FGH,GHI,HIK,HJK
AB,AE,BC,BE,CD,CE,DE,EF,EJ,FG,FH,GH,GI,HI,HJ,HK,IK,IL,JK,JM,KL,KM,LN,MN
B,D,L
5.Sample Output:(OUT.txt)
The number is 6.
We have find 6 arraies suitable.
1 : 1 3 13 24 25 30
2 : 1 6 13 16 24 30
3 : 1 3 6 13 24 30
4 : 1 3 13 23 26 29
5 : 1 5 13 16 26 29
6 ......