
【SSL】1072砝码称重
发布日期:2021-05-07 09:19:22
浏览次数:8
分类:原创文章
本文共 763 字,大约阅读时间需要 2 分钟。
【SSL】1072砝码称重
Time Limit:1000MS
Memory Limit:65536K
Description
设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),
要求:
输入方式:a1 a2 a3 a4 a5 a6
(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)
输出方式:N
(N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)
Input
Output
Sample Input
1 1 0 0 0 0
(注:下划线表示空格)
Sample Output
3 表示可以称出1g,2g,3g三种不同的重量。
思路
这是一道。
把每一个砝码都做01背包。
设f[i]表示ig是否能被称出来。
f[i]=f[i]|f[i-a[j]],f[0]=1,1<=i<=1000,1<=j<=6
最后再扫一次。
代码
#include<iostream>#include<cstdio>#include<cstring> using namespace std;bool f[1010];int main(){ int a[10]={ 0,1,2,3,5,10,20},i,j,k,ans=0,t; memset(f,0,sizeof(f)); f[0]=1; for(i=1;i<=6;i++) { scanf("%d",&t); for(j=1;j<=t;j++) for(k=1000;k>0;k--) if (k>=a[i]) f[k]|=f[k-a[i]];//状态转移方程 } for(i=1;i<=1000;i++) ans+=f[i]; printf("%d",ans); return 0;}
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月01日 01时58分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C++小笔记——function绑定重载函数、私有继承用的条件
2019-03-04
最近一些算法题的总结
2019-03-04
2021-4-28【PTA】【L2-1 包装机 (25 分)】
2019-03-04
2021-5-2【指针】【作业】【指针代替下标进行数组编程】
2019-03-04
Arduino mega2560+MPU6050利用加速度值控制舵机
2019-03-04
MPU9250九轴姿态解算开发小结
2019-03-04
pycharm+python+MS SQLSERVER 实战2、实现爬虫程序。
2019-03-04
判断字符是否出现
2019-03-04
C 语言restrict 关键字的使用浅谈
2019-03-04
深入理解数组指针与指针数组的区别
2019-03-04
iOS客户端与PHP服务端的简单交互
2019-03-04
图像Exif Orientation
2019-03-04
Python的异常处理
2019-03-04
Kubernetes(k8s)的调度器详细介绍
2019-03-04
Linux的网络参数设置
2019-03-04
权限修饰符protected和default的区别
2019-03-04
紫书——蛇形填数
2019-03-04
吐泡泡(栈)
2019-03-04
刷题计划1——poj1753
2019-03-04
Specialized Four-Digit Numbers——进制转换
2019-03-04