`
Dev|il
  • 浏览: 126175 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

砝码称重,砝码可以两边放

J# 
阅读更多
Description

  设有已知m个砝码,每个砝码的重量分别为g1、g2、…gm,现有一架天平,问用这些砝码能称出多少种不同的重量。(1<=m<=100,1<=每种砝码重量<=255)。(注意,砝码可以放在天平的两边)。

Input

 第一行:整数 m、n,两整数间用空格分开;
 接下来有m行:每行一个整数,第i+1行表示第I个砝码的重量,

Output

 能称出的重量个数

Sample Input

 2
 3
 5

Sample Output

 4

#include <stdio.h>
#include <string.h>
//可以左右放,所以数组的长度要扩大一倍
#define MAX 100 * 255 * 2 + 5

int dp[MAX], buf[MAX];

//母函数的应用,表达式为(1 + x^3 + x^-3)(1 + x^5 + x^-5) 例子的表达式
void Generation(int value[], int length)
{
	int i, j, k;
	memset(dp, 0, sizeof(dp));
	dp[0] = 1;
	for(i = 0; i < length; i++)
	{
		memset(buf, 0, sizeof(buf));
		for(j = -value[i]; j <= value[i]; j += value[i]) //
		{
			for(k = -value[i]; k + j + value[i] <= MAX; k++)
			{
				buf[k + j + value[i]] += dp[k];
			}
		}
		for(j = 0; j <= MAX; j++)
		{
			dp[j] = buf[j];
		}
	}
}

int main()
{
	int m, i, cnt;
	int value[101];
	while(scanf("%d", &m) != EOF)
	{
		for(i = 0; i < m; i++)
		{
			scanf("%d", &value[i]);
		}
		Generation(value, m);
		cnt = 0;
		for(i = 1; i < MAX; i++)
		{
			if(dp[i] != 0)
				cnt++;
		}
		printf("%d\n", cnt / 2);
	}
	return 0;
}
分享到:
评论

相关推荐

    C语言_砝码称重问题

    [砝码称重问题]给定一架天平,要求用m个砝码称出1~n克范围内的所有物品的重量 ,问应该如何选择砝码~

    算法设计砝码称重实验报告

    算法设计的实验报告,关于砝码称重,有需要的小伙伴,可以拿去,写的很详细,代码,算法时间复杂度什么的都有.doc

    天平称重,砝码组合

    ### 天平称重,砝码组合 #### 知识点概述 本篇文章将围绕“天平称重,砝码组合”这一主题展开讨论。在实际应用中,我们需要使用尽可能少的砝码来准确地测量出不同的重量。本文将探讨如何通过特定的砝码组合来实现...

    第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组 题目PDF压缩包无密码

    第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组 题目PDF压缩包 第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组 题目PDF压缩包 第十一届蓝桥杯大赛软件类省赛第二场 Java 大学 B 组 题目PDF压缩包

    ACM 砝码问题 解答

    砝码问题 Problem 有一组砝码,重量互不相等,分别为m1、m2、m3……mn;...每组数据输出仅一行,一个整数,表示利用给定的砝码可以称出的不同的重量数。 注:包括0。 Sample Input 1 2 1 2 2 1 Sample Output 5

    砝码程序算法

    算法首先会尝试使用最少的砝码组合来尽可能接近目标,如果无法准确匹配,就会增加下一个砝码并调整组合,直至找到一个可以平衡的配置或者确定无法达到目标。 在实现砝码程序算法时,我们可能需要考虑以下几点: 1. ...

    有关砝码的检定规程及规范

    根据给定文件的信息,本文将深入探讨砝码检定规程中的关键知识点,涵盖砝码的基本概念、检定规程的历史背景、主要...通过对该规程的深入了解,可以更好地掌握砝码检定的关键技术和流程,从而提高计量工作的质量和效率。

    无砝码标定免砝码标定传感器模拟器的使用及校准汇编.pdf

    上海耀华称重系统有限公司研发的XY1型号无砝码标定传感器模拟器,在应变式传感器校准和检测领域展现出显著优势。该模拟器的出现,标志着传感器标定技术的一大进步,其功能强大,能够模拟不同类型的应变传感器输出...

    基于PLC的电子吊秤砝码加载技术研究.pdf

    本文研究了基于PLC(可编程逻辑控制器)的电子吊秤砝码加载技术,通过将PLC自动控制技术与模糊滑模控制算法相结合,设计了一套自动加载控制装置,有效解决了传统砝码加载技术中存在的一系列问题。 一、砝码自动加载...

    梅特勒称重校准操作手册

    接着,用户需要按照图示设置对应的串口,然后将2000克的砝码放到对应的称重仪上,然后按照步骤进行操作,直到完成校准。 在校准过程中,用户需要注意以下几点: 1. 选择正确的串口:用户需要选择与梅特勒称重仪...

    JJG 99-2006 砝码检定规程.pdf

    JJG 99-2006 砝码检定规程pdf,JJG 99-2006 砝码检定规程

    ACM常用搜索算法详解

    它可以包括A*搜索、Greedy Best-First Search(只考虑h(n))等。 在ACM竞赛中,正确选择和实现这些搜索算法是至关重要的。理解它们的原理、适用场景以及优缺点,能够帮助你在面对复杂问题时迅速找到解决方案。熟练...

    E2等级砝码技术报告.doc

    E2等级砝码作为高精度的标准计量器具,主要用于校准和检定其他砝码或称重设备,是确保计量准确性和可靠性的关键工具。 E2等级砝码标准装置的工作原理依托于精细天平,通过对标准砝码与被检砝码质量的对比,计算出被...

    C语言砝码组合问题源码

    C语言解决砝码组合问题,采用递归的方法解决,寻找递推关系便可以解决这个问题了

    flash as3制作天平

    6. **优化交互**:为了增加趣味性和教育价值,可以添加更多功能,比如限制砝码的放置位置,显示砝码的重量,或者设置不同的难度级别。 在完成所有编程后,保存FLA文件并导出SWF格式,用户就可以在浏览器或Flash ...

    可用于电子秤质检的电磁砝码设计方案

    本文设计了一种电磁砝码,由NUC140、螺管式电...微控制器产生PWM信号,通过外围电路放大后驱动电磁铁产生电磁力,不同的PWM信号可以模拟出不同质量的砝码。电磁砝码可安装于电子秤内部,实现高效、方便、自动化的质检。

    余姚太平洋 数字式称重传感器手册.pdf

    3. 标定工作可以直接用数字设置完成,适应于无法使用砝码进行标定的场景,提供便捷的标定解决方案。 4. 偏载调整操作方便且精确,有助于提升称重精度。 5. 具备自诊断功能,能迅速检查并排除故障,提高工作效率。 6....

    如何对SIWAREX FTA 称重模块进行标定.zip

    3. **加载标定**:将标准砝码逐级地放在称重平台上,每次加载后记录模块显示的重量。通过配置软件,输入对应砝码的真实重量,并进行相应的校准。这个过程可能需要多次加载不同的砝码,以覆盖整个量程。 4. **多点...

Global site tag (gtag.js) - Google Analytics