题意
传送门 NC 14585
题解
模拟圆盘的移动,可以发现 A A A 柱下面每新增一个盘子 p i p_{i} pi,则移动方案为: p 0 … p i − 1 p_{0}\dots p_{i-1} p0…pi−1 从 A A A 移动到 C C C; P i P_{i} Pi 从 A A A 移动到 B B B; p 0 … p i − 1 p_{0}\dots p_{i-1} p0…pi−1 从 C C C 移动到 A A A; P i P_{i} Pi 从 B B B 移动到 C C C; p 0 … p i − 1 p_{0}\dots p_{i-1} p0…pi−1 从 A A A 移动到 C C C。
则有递推式
s t e p ( P i ) = 3 ∗ s t e p ( P i − 1 ) + 2 step(P_{i})=3*step(P_{i-1})+2 step(Pi)=3∗step(Pi−1)+2
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define maxn 26
ll rec[maxn];
int main()
{
rec[0] = 0, rec[1] = 2;
for (int i = 2; i < maxn; i++)
{
rec[i] = rec[i - 1] * 3 + 2;
}
int n;
while (~scanf("%d", &n))
{
printf("%lld\n", rec[n]);
}
return 0;
}