BZOJ 1002: [FJOI2007]轮状病毒 []
2017-02-20 23:25
211 查看
我也不知道该说点什么好
难道bzoj不支持重载运算符?洛谷AC bzoj WA
难道bzoj不支持重载运算符?洛谷AC bzoj WA
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; const int N=100; int n; struct Big{ int d ,l; int& operator [](int x){return d[x];} Big(){l=1;memset(d,0,sizeof(d));} }f[105]; Big operator *(Big a,int b){ int g=0; for(int i=1;i<=a.l;i++){ g+=a[i]*b; a[i]=g%10; g/=10; } for(;g;g/=10) a[++a.l]=g%10; return a; } Big operator -(Big a,Big b){ for(int i=1;i<=b.l;i++){ if(a[i]<b[i]) a[i]+=10,a[i+1]--; a[i]-=b[i]; } int p=b.l+1; while(a[p]<0) a[p]+=10,a[p+1]--; while(a[a.l]==0) a.l--; return a; } Big operator +(Big a,int b){ int g=b,i=1; for(;g;i++) g+=a[i],a[i]=g%10,g/=10; a.l=max(a.l,i); return a; } void print(Big &a){ for(int i=a.l;i>=1;i--) printf("%d",a[i]); } int main(){ scanf("%d",&n); f[1].l=1;f[1][1]=1; f[2].l=1;f[2][1]=5; for(int i=3;i<=n;i++) f[i]=f[i-1]*3-f[i-2]+2; print(f ); }
相关文章推荐
- bzoj1002[FJOI2007]轮状病毒
- bzoj 1002 [FJOI2007]轮状病毒 高精度&&找规律&&基尔霍夫矩阵
- [bzoj1002][FJOI2007]轮状病毒_递推_高精度
- 【BZOJ 1002】 [FJOI2007]轮状病毒 【矩阵树定理】【留坑】
- 【递推】【高精度】【FJOI 2007】【bzoj 1002】轮状病毒
- bzoj1002 [FJOI2007]轮状病毒
- BZOJ 1002: [FJOI2007]轮状病毒 递推/基尔霍夫矩阵树定理
- BZOJ 1002:[FJOI2007] 轮状病毒 (基尔霍夫矩阵生成树定理)
- BZOJ1002 [FJOI2007]轮状病毒
- [BZOJ1002](FJOI 2007) 轮状病毒
- BZOJ 1002: [FJOI2007]轮状病毒
- BZOJ1002: [FJOI2007]轮状病毒
- bzoj1002【fjoi2007】轮状病毒
- 【BZOJ 1002】: [FJOI2007]轮状病毒
- 【bzoj1002】【FJOI2007】【轮状病毒】【找规律】
- [BZOJ 1002] [FJOI 2007] 轮状病毒
- BZOJ 1002 [FJOI2007] 轮状病毒
- bzoj 1002 [FJOI2007]轮状病毒 找规律/基尔霍夫矩阵
- [bzoj1002]: [FJOI2007]轮状病毒(矩阵树定理)
- BZOJ 1002: [FJOI2007]轮状病毒