← 完整题目索引

PROJECT EULER · #0105

特殊子集和:检验

Special Subset Sums: Testing

仅题目 · 已解决原题 ↗

S(A) 表示集合 A 中大小为 n 的元素之和。如果对于任何两个非空不相交子集 BC,以下属性为真,我们将其称为特殊和集:

  1. S(B)S(C);即子集之和不能相等。
  2. 如果 B 包含的元素多于 C,则 S(B)>S(C)

例如,{81,88,75,42,87,84,86,65}不是一个特殊的和集,因为65+87+88=75+81+84,而{157,150,164,119,79,159,161,139,158} 满足所有可能的子集对组合的两个规则以及 S(A)=1286

使用 sets.txt(右键单击并"将链接/目标另存为..."),这是一个包含 7 到 12 个元素的 100 个集合的 4K 文本文件(上面给出的两个示例是文件中的前两个集合),识别所有特殊总和集合 A1,A2,,Ak,并找到S(A1)+S(A2)++S(Ak)

注意:此问题与问题 103问题 106 相关。

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。