蒟蒻不会快读

P1005 [NOIP2007 提高组] 矩阵取数游戏

你这个高精不能用快读啊。。。毕竟普通的快读存不下,所以建议直接一点,开O2(
by bovine__kebi @ 2020-06-12 20:26:53


变量名好评(
by 星尘_星辰 @ 2020-06-12 20:27:27


O2也要炸
by Richard21477 @ 2020-06-12 20:27:29


还有,qndjr
by bovine__kebi @ 2020-06-12 20:27:33


~~用int128~~
by lndjy @ 2020-06-12 20:27:40


pow()预处理就过了~~完结散花~~
by Richard21477 @ 2020-06-12 20:31:15


```cpp #include<bits/stdc++.h> using namespace std; struct big{ int l; int a[100000]; bool operator <= (big kkk) const{ if (l!=kkk.l) return l<kkk.l; for (int i=l;i>=1;i--) if (a[i]!=kkk.a[i]) return a[i]<kkk.a[i]; return true; }/* big cut(big x,int first,int end){ big y; y.l=end-first+1; for (int i=first;i<=end;i++) y.a[i]=x.a[i-first+1]; return y; }*/ big operator - (big kkk){ big sc03; for (int i=1;i<=l;i++){ sc03.a[i]=a[i]-kkk.a[i]; if (sc03.a[i]<0){ sc03.a[i]+=10; a[i+1]--; } } for (sc03.l=l;sc03.l>=1;sc03.l--){ if (sc03.a[sc03.l]!=0) break; } return sc03; } big right(big x,int gos){ big y; y.l=x.l+gos; for (int i=1;i<=gos;i++) y.a[i]=0; for (int i=1;i<=x.l;i++) y.a[gos+i]=x.a[i]; return y; } big operator / (big kkk){ big sc03; big tgz; sc03.l=l; tgz.l=l-kkk.l+1; for (int i=1;i<=l;i++) sc03.a[i]=a[i]; for (int i=l-kkk.l+1;i>=1;i--){ big gyc=right(kkk,i-1); tgz.a[i]=0; while (gyc<=sc03){ sc03=sc03-gyc; tgz.a[i]++; } } if (tgz.a[tgz.l]==0) tgz.l--; while (sc03.a[sc03.l]==0&&sc03.l>=2) sc03.l--; return tgz; } big operator % (big kkk)const{ big sc03; big tgz; sc03.l=l; //tgz.l=l-kkk.l+1; for (int i=1;i<=l;i++) sc03.a[i]=a[i]; //while (kkk<=sc03) // sc03=sc03-kkk; /*for (int i=l-kkk.l+1;i>=1;i--){ big gyc=right(kkk,i-1); //tgz.a[i]=0; while (gyc<=sc03){ sc03=sc03-gyc; //tgz.a[i]++; } }*/ //if (tgz.a[tgz.l]==0) // tgz.l--; //while (sc03.a[sc03.l]==0&&sc03.l>=2) // sc03.l--; return sc03; } }; int main(){ freopen("divide.in","r",stdin); freopen("divide.out","w",stdout); string x,y; while (cin>>x>>y){ int lx,ly; lx=x.length(); ly=y.length(); big xx,yy; xx.l=lx; yy.l=ly; for (int i=lx;i>=1;i--) xx.a[i]=x[lx-i]-'0'; for (int i=ly;i>=1;i--) yy.a[i]=y[lx-i]-'0'; cout<<"ok1"<<endl; big an1,an2; //big ans=xx-yy; //an1=xx/yy; an2=xx%yy; /*for (int i=ans.first.l;i>=1;i--) cout<<ans.first.a[i]; cout<<" "; for (int i=ans.second.l;i>=1;i--) cout<<ans.second.a[i]; cout<<endl;*/ } fclose(stdin); fclose(stdout); return 0; } ``` 顺便请dalao康康juruo的高精除
by Richard21477 @ 2020-06-12 20:32:41


|