ACM 砝码问题 解答

时间:2013-10-10 14:53:42
【文件属性】:

文件名称:ACM 砝码问题 解答

文件大小:872B

文件格式:RAR

更新时间:2013-10-10 14:53:42

ACM 砝码问题 解答

砝码问题 Problem 有一组砝码,重量互不相等,分别为m1、m2、m3……mn;它们可取的最大数量分别为x1、x2、x3……xn。 现要用这些砝码去称物体的重量,问能称出多少种不同的重量。 Input 第一行为一整数t,表示有t组测试数据。 每组测试数据第一行一个整数n(n<=10),表示有多种不同的砝码; 第二行n个整数(中间用空格分隔),m1、m2、m3……mn,分别表示n个砝码的重量;(1<=mi<=20) 第三行n个整数(中间用空格分隔),x1、x2、x3……xn,分别表示n个砝码可取的最大数量。(1<=xi<=20) Output 每组数据输出仅一行,一个整数,表示利用给定的砝码可以称出的不同的重量数。 注:包括0。 Sample Input 1 2 1 2 2 1 Sample Output 5


【文件预览】:
砝码问题2.txt
砝码问题1.txt

网友评论

  • 不符合要求的代码。与题目要求不符合
  • 谢谢,正在学习acm的试题
  • 很好~~不过有个问题是有两个文件,导入后得不到我想要的答案
  • // 感谢作者的分享,不过不好意思,我说话直接了,下面是纯粹从效率的角度来思考的。 // 代码效率极低,用的是暴力法,完全没有把问题的规模将下来,也没有用巧妙的方法。 // 不过poise的递归思想还是值得借鉴的。 // 下面是对代码函数的注释。给不懂的人看看。 // 遍历不同的情况,把所有可能的数值存下来 int poise(int *a,int *b,int n,int i=0); // 排序,从小到大 void taxis(); // 找出不同数值的个数并且输出 int variety();