记录编号 194808 评测结果 AAAAAAAAAA
题目名称 分裂 最终得分 100
用户昵称 Gravatar_stranger 是否通过 通过
代码语言 C++ 运行时间 0.821 s
提交时间 2015-10-17 12:11:45 内存使用 0.94 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#define mod 10000
using namespace std;
int n,cnt=0;
struct fuck{
	int a[20001];
	void print(){
		printf("%d",a[a[0]]);
		for(int i=a[0]-1;i>=1;--i){
			printf("%04d",a[i]);
		}printf("\n");
	}
	void mul(int x){
		a[0]+=2;
		for(int i=1;i<=a[0];++i){
			a[i]*=x;
		}
		for(int i=1;i<=a[0];++i){
			if(a[i]>=mod){
				a[i+1]+=a[i]/mod;
				a[i]%=mod;
			}
		}
		while(a[0]!=1&&a[a[0]]==0)a[0]--;
		return;
	}
	void div(int x){
		for(int i=a[0];i>=1;--i){
			a[i-1]+=a[i]%x*mod;
			a[i]/=x;
		}
		while(a[0]!=1&&a[a[0]]==0)a[0]--;
	}
}ans;
int main(){
	freopen("mushroom.in","r",stdin);
	freopen("mushroom.out","w",stdout);
	scanf("%d",&n);
	memset(ans.a,0,sizeof(ans.a));
	ans.a[0]=1;ans.a[1]=1;
	for(int i=n/2+1;i<=n;++i)ans.mul(i);
	for(int i=2;i<=n-n/2;++i)ans.div(i);
	ans.print();
	return 0;
}