比赛 20111108 评测结果 AAAWWWWWWW
题目名称 分裂 最终得分 30
用户昵称 Truth.Cirno 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-08 10:15:59
显示代码纯文本
#include <cstdio>
#include <iostream>
#include <memory.h>
using namespace std;

int num[2][10002]={0};
long long total[10001]={0,1};

int main(void)
{
	freopen("mushroom.in","r",stdin);
	freopen("mushroom.out","w",stdout);
	int i,j,n;
	bool now=true,last=false;
	scanf("%d\n",&n);
	num[0][2]=1;
	for (i=2;i<=n;i++)
	{
		now=!last;
		memset(num[now],0,sizeof(num[now]));
		total[i]=total[i-1]*2;
		num[now][2]=num[last][1];
		total[i]-=num[last][1];
		for (j=2;j<=i+1;j++)
		{
			num[now][j-1]+=num[last][j];
			num[now][j+1]+=num[last][j];
		}
		last=now;
	}
	cout<<total[n]<<endl;
	fclose(stdin);
	fclose(stdout);
	return(0);
}