A 移动到 B 即走一步,A 移动到 C 即走两步。因为递归会超时,所以我们可以照搬递归的思路但是使用「动态规划」的方法:维护 i 个金片移动到 B 或 C 的数组 dp_B 和 dp_C假设现在有 i 个金片,对于 A 移动到 B,要经历以下几个步骤:将 i-1 个金片从 A 移动到 C(dp_C[i-1] 步)将最后的金片从 A 移动到 B(dp_B[1] 步)将 i-1 个金片从 C 移动到 B(B->A->C 等价于 dp_C[i-1] 步)所以 dp_B[i] = dp_C[i-1] + dp_B[1] + dp_C[i-1]而对于 A 移动到 C,需要经历下面几个步骤:...