Description

现有n个砝码,第i个砝码的重量为ai,你至多能选择三个砝码进行称重,请问对于1~w中的所有整数,有多少数字能被这n个砝码称出来?

Input

单组测试数据,第一行输入两个正整数n(1≤n≤300),w(1≤w≤1000000),第二行输入n个正整数ai(1≤ai≤1000000),含义如题所述。

Output

输出1~w能被称出来的数量。

Sample Input

4 12

3  3  3  3

Sample Output

3

HINT

对于样例,只有3,6,9这三个整数能被称出来。

3=a1

6=a1+a2

9=a1+a2+a3

注意12由于需要四个砝码才能称出,故不计入答案。

学习了一下同学的代码。

解析:数据比较小,我们可以之间开1000000的数组来存是否能称出该值的重量,直接暴力干起来。例如a[1]=3,a[2]=4,我们可以称出a[1]+a[2]=7重量。因此我们分三种情况,一个砝码,二个砝码,三个砝码,分别利用for来存哪些重量可以实现。

#include <stdio.h>
int a[305],b[1000005];
int main()
{int n,w,i,s,z,cnt=0;scanf("%d%d",&n,&w);    for(i=0;i<n;i++) scanf("%d",&a[i]),b[a[i]]=1;  //单个砝码 for(i=0;i<n;i++){      for(s=i+1;s<n;s++){      //取两个砝码时 if(a[i]+a[s]<=w) b[a[i]+a[s]]=1;    //为了防止越界,我们前面加个判断,不大于w的时候存 }                                      //大于w的反正也是无效的 }for(i=0;i<n;i++){for(s=i+1;s<n;s++){for(z=s+1;z<n;z++){      //三个砝码时 if(a[i]+a[s]+a[z]<=w) b[a[i]+a[s]+a[z]]=1;}}}for(i=1;i<=w;i++) if(b[i]==1) cnt++;   //存在该重要,cnt+1 printf("%d\n",cnt);return 0;
} 

ZCMU--5239: 砝码称重(C语言)相关推荐

  1. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重

    第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 前言 关于数学的疑问 算法训练 砝码称重 ...

  2. Bailian4141 砝码称重【DP】

    4141:砝码称重 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000),要求:计算用这些砝码能称出的不同 ...

  3. 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重

    试题题目: 本题为编程题第二题 解题思路: 方法一:暴力求解 1.分析    首先利用数组W[N]W[N]W[N]记录NNN块砝码的质量.    模拟放取过程.先取第一块砝码放在天平上,再取第二块砝码 ...

  4. 洛谷 P2347 砝码称重

    P2347 砝码称重 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1 ...

  5. 【DP】砝码称重 (ssl 1072)

    砝码称重 ssl 1072 题目大意: 有6种砝码,每种的个数分别为a1,a2,a3,a4,a5,a6,请问可以平出多少种重量(0除外) Description 设有1g.2g.3g.5g.10g.2 ...

  6. 【OJ8756】砝码称重V2,可达性多重背包

    砝码称重V2 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=100,000),要求:计 ...

  7. 【codevs2144】砝码称重2,哈希什么的都去死吧

    砝码称重 2 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 有n个砝码,现在要称一个质量为m的物体,请问最少需要挑出几个 ...

  8. 51NOD 1449 砝码称重(贪心+进制思想)

    题目连接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1449 1449 砝码称重 题目来源: CodeForces 基 ...

  9. 【SSL】1072砝码称重

    [SSL]1072砝码称重 Time Limit:1000MS Memory Limit:65536K Description 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重< ...

最新文章

  1. java单点登录强制下线_实现单点登录并强制对方下线
  2. SAP S4HANA BP事务代码初始界面的ROLE和Grouping配置
  3. 集合嵌套存储和遍历元素的示例
  4. 讨论UML概念和模型UML九种图。
  5. Acwing 309. 装饰围栏
  6. 中南大学计算机网.doc,中南大学计算机网络实验报告.doc
  7. 【转载】MOS开关(verilog)
  8. 哈尔滨大学计算机和金融,山东153所大学最新排名,46所公办本科,看看有你喜欢的吗...
  9. ESB和注册服务管理的区别
  10. python提供了两种基本的数值类型_python数据分析(一) python当中的数据类型--数字和常用函数...
  11. Python 3 从入门到精通 Mac OS
  12. 全球唯一顶级车展来袭,云徙科技成为造车新势力?
  13. 信用证,保理,支付宝的模式和区别
  14. 在线编辑Word——插入表格
  15. 《猎头局中局》观后感
  16. 安卓Behavior用法
  17. java条形码识别_java openCV 识别条形码
  18. android studio虚拟机图库不显示图片,照片显示图片解决办法
  19. java-php-python-ssm信贷管理系统计算机毕业设计
  20. 设计原则:单一职责原则

热门文章

  1. 数字孪生 智慧电力可视化决策系统
  2. 3亿颗市场规模逐鹿,国产Zigbee芯片盘点
  3. 人血清白蛋白修饰磺胺嘧啶/磺胺多辛 HSA-Sulfadiazine/Sulfadoxine
  4. CSS 布局实例系列(三)如何实现一个左右宽度固定,中间自适应的三列布局——也聊聊双飞翼
  5. WEB 3D SVG CAD 向量 几个实施
  6. 托管程序与非托管程序的区别
  7. 表格斜线 纯html实现画直线的方法
  8. xoom 真机开发
  9. 使用闪联任意通将xp打造成wifi热点
  10. app推广员工作面试时应该注意什么