ZCMU--5239: 砝码称重(C语言)
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语言)相关推荐
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 前言 关于数学的疑问 算法训练 砝码称重 ...
- Bailian4141 砝码称重【DP】
4141:砝码称重 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000),要求:计算用这些砝码能称出的不同 ...
- 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重
试题题目: 本题为编程题第二题 解题思路: 方法一:暴力求解 1.分析 首先利用数组W[N]W[N]W[N]记录NNN块砝码的质量. 模拟放取过程.先取第一块砝码放在天平上,再取第二块砝码 ...
- 洛谷 P2347 砝码称重
P2347 砝码称重 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1 ...
- 【DP】砝码称重 (ssl 1072)
砝码称重 ssl 1072 题目大意: 有6种砝码,每种的个数分别为a1,a2,a3,a4,a5,a6,请问可以平出多少种重量(0除外) Description 设有1g.2g.3g.5g.10g.2 ...
- 【OJ8756】砝码称重V2,可达性多重背包
砝码称重V2 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=100,000),要求:计 ...
- 【codevs2144】砝码称重2,哈希什么的都去死吧
砝码称重 2 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 有n个砝码,现在要称一个质量为m的物体,请问最少需要挑出几个 ...
- 51NOD 1449 砝码称重(贪心+进制思想)
题目连接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1449 1449 砝码称重 题目来源: CodeForces 基 ...
- 【SSL】1072砝码称重
[SSL]1072砝码称重 Time Limit:1000MS Memory Limit:65536K Description 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重< ...
最新文章
- java单点登录强制下线_实现单点登录并强制对方下线
- SAP S4HANA BP事务代码初始界面的ROLE和Grouping配置
- 集合嵌套存储和遍历元素的示例
- 讨论UML概念和模型UML九种图。
- Acwing 309. 装饰围栏
- 中南大学计算机网.doc,中南大学计算机网络实验报告.doc
- 【转载】MOS开关(verilog)
- 哈尔滨大学计算机和金融,山东153所大学最新排名,46所公办本科,看看有你喜欢的吗...
- ESB和注册服务管理的区别
- python提供了两种基本的数值类型_python数据分析(一) python当中的数据类型--数字和常用函数...
- Python 3 从入门到精通 Mac OS
- 全球唯一顶级车展来袭,云徙科技成为造车新势力?
- 信用证,保理,支付宝的模式和区别
- 在线编辑Word——插入表格
- 《猎头局中局》观后感
- 安卓Behavior用法
- java条形码识别_java openCV 识别条形码
- android studio虚拟机图库不显示图片,照片显示图片解决办法
- java-php-python-ssm信贷管理系统计算机毕业设计
- 设计原则:单一职责原则