蓝桥杯 省赛 砝码称重
问题描述
你有一架天平和 NN 个砝码,这 NN 个砝码重量依次是 W_1, W_2, · · · , W_NW1,W2,⋅⋅⋅,WN。
请你计算一共可以称出多少种不同的重量? 注意砝码可以放在天平两边。
输入格式
输入的第一行包含一个整数 NN。
第二行包含 NN 个整数:W_1, W_2, W_3, · · · , W_NW1,W2,W3,⋅⋅⋅,WN。
输出格式
输出一个整数代表答案。
样例输入
3
1 4 6
样例输出
10
样例说明
能称出的 1010 种重量是:1、2、3、4、5、6、7、9、10、111、2、3、4、5、6、7、9、10、11。
1 = 1;1=1;
2 = 6 − 4 (2=6−4(天平一边放 66,另一边放 4);4);
3 = 4 − 1;3=4−1;
4 = 4;4=4;
5 = 6 − 1;5=6−1;
6 = 6;6=6;
7 = 1 + 6;7=1+6;
9 = 4 + 6 − 1;9=4+6−1;
10 = 4 + 6;10=4+6;
11 = 1 + 4 + 6。11=1+4+6。
评测用例规模与约定
对于 50%50的评测用例,1 ≤ N ≤ 151≤N≤15。
对于所有评测用例,1 ≤ N ≤ 100,N1≤N≤100,N个砝码总重不超过 100000100000。
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
n=int(input())
fm=list(map(int,input().split()))
s=sum(fm)
dp=[False for _ in range(s+1)]
dp[0]=True
count=0
for i in range(n):for j in range(s,fm[i]-1,-1):x=j-fm[i]if dp[j]:continueif dp[x]:dp[j]=Truecount+=1for i in range(1,s+1):if dp[i]:for j in range(n):if i-fm[j]>0 and not dp[i-fm[j]]:dp[i-fm[j]]=Truecount+=1print(count)
测试显示有一项数据会超时,求大佬帮忙修改~
蓝桥杯 省赛 砝码称重相关推荐
- 蓝桥杯省赛 砝码称重(B组)
原题链接 "蓝桥杯"练习系统 一道简单dp题 #include <bits/stdc++.h> using namespace std; bool dp[110][ ...
- 第十二届蓝桥杯真题砝码称重dp
问题描述 你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN. 请你计算一共可以称出多少种不同的正整数重量? 注意砝码可以放在天平两边. 输入格式 输入的第一行包含一个整数 ...
- 蓝桥杯数学题:天平称重:巧用三进制。基于python3.9的原创代码
用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量.如果有无限个砝码,但它们的重量分别是1,3,9,27,81,--等3的指数幂神奇之处在于用它们的组合可以称出任意整数重量(砝码允许放在左右 ...
- 第十二届蓝桥杯省赛 Java 大学 B 组—砝码称重—满分百分题解
第十二届蓝桥杯省赛 Java 大学 B 组-砝码称重-满分百分题解 一.解题思路 1.解法一( Java ) 解法思路:简单模拟 ☝ArrayList 遍历 + HashSet 存储(去重) 伪代码如 ...
- 砝码称重【第十二届蓝桥杯】【省赛】【B组】
砝码称重[第十二届蓝桥杯][省赛][B组] Description 你有一架天平和N个砝码,这N个砝码重量依次是W1.W2,-WN 请你计算一共可以称出多少种不同的重量? 注意砝码可以放在天平两边. ...
- 【题解】【蓝桥杯】试题 历届真题 砝码称重【第十二届】【省赛】【B组】
题目链接 试题 历届真题 砝码称重[第十二届][省赛][B组] 题目描述 解题思路 暴力,两个map,分别存储当前能称出的重量和遍历时用于计算的重量 需要注意的三点是 abs函数是在math.h里面的 ...
- 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重
试题题目: 本题为编程题第二题 解题思路: 方法一:暴力求解 1.分析 首先利用数组W[N]W[N]W[N]记录NNN块砝码的质量. 模拟放取过程.先取第一块砝码放在天平上,再取第二块砝码 ...
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 前言 关于数学的疑问 算法训练 砝码称重 ...
- 【蓝桥杯-砝码称重】
蓝桥杯-砝码称重 问题描述: 你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1, W2, · · · WN 请你计算一共可以称出多少种不同的重量? 注意砝码可以放在天平两边 输入的第一行包含 ...
最新文章
- 在VS2010平台上创建并使用dll
- ubuntu上开启SSH服务
- textisselectable长按再点击_微信朋友圈如何发布长视频?原来打开这个功能就可以,涨知识了...
- 【安全牛学习笔记】kali TOP10 安全工具:
- java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...
- ijkplayer-添加播放截图功能
- eclipse重定向输入输出到文件
- 怎么在Telegram电报纸飞机中搜索频道群组机器人教程。
- python一行代码随机生成mac地址
- python 图像倾斜校正_通过OpenCV和Python进行文本倾斜校正
- 活动 | 腾讯×Nature Research:提问AI与机器人的未来
- 数据传输 | 利用 DTLE 将 MySQL 数据同步到 DBLE
- CAD怎么进行给水计算?CAD给水计算教程
- Tromino(更准确地说是“右Trominio”)是一个由棋盘上的三个1x1方块组成的L型骨牌。
- 六十星系之43紫微天相坐辰戌
- 期末测验: 课程水平综合测验 (第10周)
- 到底什么是Web2.0
- 羊毛大军杀入币圈,有人月入过万,有人惨遭反薅,沦为韭菜
- springboot使用session保存和获取参数
- java camel_Apache Camel到底是什么?