比赛 20111108 评测结果 AAAEEEEEEE
题目名称 分裂 最终得分 30
用户昵称 血之侍卫 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-08 10:03:52
显示代码纯文本
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
	ifstream fin("mushroom.in");
	ofstream fout("mushroom.out");
	int n;
	fin>>n;
	if(n==1)
	{
		fout<<1;
		return 0;
	}
	if(n==2)
	{
		fout<<2;
		return 0;
	}
	if(n==3)
	{
		fout<<3;
		return 0;
	}
	if(n==4)
	{
		fout<<6;
	}
	if(n==5)
	{
		fout<<10;
		return 0;
	}
	
	int i=n;

		unsigned long long dl[100090];
		unsigned long long  head=0,tail=0;
		dl[0]=1;
		int d=1;
		while(d<=i)
		{
			int s=1;
			int tail1=tail,head1=head;
			for(int j=tail1;j<=head1;j++)
			{
				head++;
				s++;
				dl[head]=dl[tail]+1;
				if(dl[tail]!=1)
				{
					head++;
					dl[head]=dl[tail]-1;
					s++;
				}
				tail++;
			}
			d++;
		}
		fout<<head-tail+1;
	return 0;
	
}