递归:POJ 完美覆盖
参考链接:https://blog.csdn.net/tp7309/article/details/53142265
/*************
递归 POJ 完美覆盖
3*n个格子
先使用枚举,对三行的覆盖情况进行遍历
对每一行有空缺的地方进行填补
*************/
#include <iostream>
using namespace std;
int perfect_mask(int n)
{
if(n%2){
return 0;
}
if(n==2){
return 3;
}
else if(n==0){
return 1;
}
else
{
return 4*perfect_mask(n-2) - perfect_mask(n-4);
}
}
int main()
{
int sum=0;
int n;
while(cin>>n){
if(n==-1){
break;
}
sum = perfect_mask(n);
cout << sum << endl;
}
return 0;
}