积木游戏
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目背景
小明有一盒积木,最多有 块积木,每个积木的高度都是正整数。他喜欢将积木叠起来搭建高塔,每次搭建时可以选择使用 1块、2块或全部3块积木(每个积木只能用一次,叠放顺序不影响总高度,总高度为所选积木高度之和)。现在,小明从积木盒中取出了 n块积木(n ≤ 3),他想知道:通过选择不同数量的积木(至少选1块),可以组合出多少种 不同的总高度?
题目描述
给定 n个正整数(代表n块积木的高度,n = 1、2或3),计算所有可能的 非空子集(子集大小为或,取决于)的元素和的 不同值的个数。
输入格式
第一行包含一个整数 (),表示取出的积木数量。
第二行包含 个整数,用空格分隔,表示每块积木的高度()。
输出格式
输出一个整数,表示能组合出的不同总高度的个数。
输入输出样例
样例 1
输入:
3
1 2 3
输出:
6
解释:
- 选1块:1、2、3(3种)
- 选2块:1+2=3、1+3=4、2+3=5(去重后3、4、5,共3种,注意3与选1块的3重复,只算1次)
- 选3块:1+2+3=6(1种)
总共有1、2、3、4、5、6,共6种不同高度。
样例 2
输入:
2
2 2
输出:
2
解释:
- 选1块:2(1种,两个2的和相同)
- 选2块:2+2=4(1种)
总共有2、4,共2种不同高度。
限制与约定
对于 的数据,保证 每个积木的高度为
- 时间限制:
- 空间限制:
[柳泉中学,龙凤苑中学,科技苑中学]拔高班第十次训练
- Status
- Done
- Rule
- IOI
- Problem
- 6
- Start at
- 2025-5-14 19:30
- End at
- 2025-5-14 23:30
- Duration
- 4 hour(s)
- Host
- Partic.
- 52