安徽省2012年“达内杯”大学生程序设计竞赛
Sample Input 2 2 1 4 2
Sample Output
Case #1: 1 Case #2: 7
Hint
对于第二组测试数据,所有可能的情况应该是这样的 1. {A}, {B, C, D} 2. {B}, {A, C, D} 3. {C}, {A, B, D} 4. {D}, {A, B, C} 5. {A, B}, {C, D} 6. {A, C}, {B, D} 7. {A, D}, {B, C}
10
安徽省2012年“达内杯”大学生程序设计竞赛
Problem E 比特等级
Description
犹如古希腊传说中的亚特兰蒂斯一样,数码世界中也存在一个神奇的王国--比特国,比特国是一个等级森严的国度,而标识比特国中每个人等级的标志就是每个人与生俱来的一个比特号n(0 < n < 2^31-1),而每个人的等级值是指他的比特号在二进制下最低的非0比特位的值,例如一个人的比特号是28,转化为二进制就是11100,那么最低的非0比特位就是4,那么他的等级值就是4。现在你需要设计一个程序去计算比特国中每个人的等级值。
Input
首先是一个整数 t,表示有 t 组测试数据。(t <= 1000)
对于每组测试数据,每行都会有一个32bit正整数n,n如上所述。
Output
对于每组测试数据,输出占一行,首先应当输出一行”Case #k: ”,k表示第k组测试数据,
然后应该输出对应的结果。
11
安徽省2012年“达内杯”大学生程序设计竞赛
Sample Input 2 28 88
Sample Output
Case #1: 4 Case #2: 8
12
安徽省2012年“达内杯”大学生程序设计竞赛
Problem F 寻找砝码集
Description
现有重量为w1, w2, w3,...,wn的n种物品,你需要找到一组物品集合作为砝码集,使得这n种物品每件都能被这个砝码集在天平上称量,并且使这个砝码集中含有的物品种类数量最小。
物品w能被砝码集y称量的意思是指:把物品w放在天平的左边,然后从砝码集y中选取一些物品,每件物品任意放在天平左边或者右边,最终使得天平平衡。这个过程中你可以使用组成砝码集y的每种物品任意多次。 Input
有多组测试数据。 每组数据有两行,
第一行是一个整数n(1 <= n <= 50),
第二行包含n个整数w1,w2,...,wn( 1 <= wi <= 10000000 ),表示这n种物品的重量,
输入以一个0结束。
Output
13
安徽省2012年“达内杯”大学生程序设计竞赛
输出一个正整数,代表这个砝码集中含有的物品种类数量。
Sample Input 4 5 4 1 8 4 2 3 8 9 3 13 5 11 0
Sample Output 1 2 2
14