题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2186
类似于斐波那契问题,当确定前几组的情况(容易漏,样例给的还好),后面的方案数具有一定规律。
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
long long n,m,k;
long long int a[1002];
a[0]=1;
a[2]=3;
while(~scanf("%lld",&n))
{
for(int i=4;i<50;i+=2)
a[i]=4*a[i-2]-a[i-4];
if(n%2==0)
printf("%lld\n",a[n]);
else
printf("0\n");
}
return 0;
}