记录编号 |
194808 |
评测结果 |
AAAAAAAAAA |
题目名称 |
分裂 |
最终得分 |
100 |
用户昵称 |
_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;
}