链接
重建小学 - http://acm.hdu.edu.cn/showproblem.php?pid=2190
分析
思考:例如:3 -> 5,为什么是2种变化,而不是 3种变化?答:用6块1米×1米的地砖时,经过状态4,已经被考虑,不能重复考虑。
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ans[35];
int t;
int main(){
ans[1]=1;
ans[2]=3;
for(int i=3;i<=30;i++){
ans[i]=ans[i-1]+2*ans[i-2];
}
scanf("%d",&t);
while(t--){
int a;
scanf("%d",&a);
printf("%lld\n",ans[a]);
}
return 0;
}