您现在的位置是:主页 > news > 400网站建设推广/南京网络推广外包
400网站建设推广/南京网络推广外包
admin2025/6/24 3:31:21【news】
简介400网站建设推广,南京网络推广外包,中医院网站源码,市住房城市建设委网站题目传送门 题解详见这里。 原谅我水了一篇博客。 代码还是要贴一贴的(高精除真的是慢……): #include <cstdio> #include <cstring>struct node{int a[10010],t;node(){t1;memset(a,0,sizeof(a));}void init(){for(int i1;i…
400网站建设推广,南京网络推广外包,中医院网站源码,市住房城市建设委网站题目传送门
题解详见这里。
原谅我水了一篇博客。
代码还是要贴一贴的(高精除真的是慢……):
#include <cstdio>
#include <cstring>struct node{int a[10010],t;node(){t1;memset(a,0,sizeof(a));}void init(){for(int i1;i…
题目传送门
题解详见这里。
原谅我水了一篇博客。
代码还是要贴一贴的(高精除真的是慢……):
#include <cstdio>
#include <cstring>struct node{int a[10010],t;node(){t=1;memset(a,0,sizeof(a));}void init(){for(int i=1;i<=t;i++)a[i]=0;t=a[1]=1;}void print(){for(int i=t;i>=1;i--)printf("%d",a[i]);}void check(){for(int i=1;i<=t;i++)if(a[i]>9){a[i+1]+=a[i]/10;a[i]%=10;if(i==t)t++;}}node operator *(const int &x)const{node b;for(int i=1;i<=t;i++)b.a[i]=a[i]*x;b.t=t;b.check();return b;}node operator *(const node &b)const{node c;c.t=t+b.t-1;for(int i=1;i<=t;i++)for(int j=1;j<=b.t;j++)c.a[i+j-1]+=a[i]*b.a[j];c.check();return c;}void operator -=(const node &b){for(int i=1;i<=b.t;i++)if(a[i]<b.a[i])a[i]+=10,a[i+1]--;for(int i=1;i<=t;i++)a[i]-=b.a[i];while(a[t]==0&&t>1)t--;}bool operator >=(const node &b){if(t>b.t)return true;if(t<b.t)return false;for(int i=t;i>=1;i--)if(a[i]>b.a[i])return true;else if(a[i]<b.a[i])return false;return true;}node operator /(const node &b){node tot,re;for(int i=t;i>=1;i--){tot=tot*10;tot.a[1]+=a[i];tot.check();for(int j=9;j>=1;j--){if(tot>=(b*j)){re.a[i]=j;tot-=(b*j);break;}}}re.t=t;while(re.a[re.t]==0&&t>1)re.t--;return re;}
};
node a,b,c;
int n;int main()
{a.init();b.init();c.init();scanf("%d",&n);for(int i=1;i<=2*n;i++)a=a*i;for(int i=1;i<=n;i++)b=b*i;c=b;c=c*(n+1);b=b*c;(a/b).print();
}