← 完整题目索引

PROJECT EULER · #0907

叠杯

Stacking Cups

仅题目 · 待解原题 ↗

婴儿玩具由 n 个杯子组成,按尺寸递增顺序标记为 C1,,Cn

0907_four_cups.png

杯子可以以各种组合和方向堆叠以形成塔。杯子的形状使得可以采用以下堆叠方式:

  • 嵌套:Ck 可以紧贴在 Ck+1 内部。
    0907_nesting.png
  • 底座到底座:Ck+2Ck2 可以正确放置在颠倒的 Ck 顶部,并且它们的底部紧密贴合。
    0907_base_to_base.png
  • 边缘到边缘:Ck+2Ck2 可以倒置,位于右侧向上的 Ck 顶部,其顶部紧密贴合。
    0907_rim_to_rim.png
  • 就本问题而言,不允许两者 Ck+2Ck2 边缘对边缘堆叠在 Ck 之上,尽管示意图似乎允许这样做:
    0907_rim_to_rim_counter_example.png

S(n)定义为根据上述规则使用所有n个杯子建造单个塔的方法数。
给定 S(4)=12S(8)=58S(20)=5560

S(107),将答案模 1000000007 给出。

题解待补充

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