Sicily 1121(递推)

找出递推式。

#include <cstdio>
#include <iostream>
using namespace std;

int main()
{
	int n;
	int rank[31]={1,0,3,0,11};
	int i;
	for (i=6;i<=30;i+=2)
	{
		rank[i]=3*rank[i-2];
		int temp=i-4;
		while (temp>=0)
		{
			rank[i]+=2*rank[temp];
			temp-=2;
		}
	}
	while (1)
	{
		scanf("%d",&n);
		if (n==-1)
			break;
		printf("%d\n",rank[n]);
	}
	return 0;
}


你可能感兴趣的:(Sicily 1121(递推))