感觉此题数据有些水

P1303 A*B Problem

这个模板才是真的: ```cpp #include<stdio.h> #include<string.h> using namespace std; const int maxl=4002; struct node { int len; int num[maxl]; void Read(char *s) { len=strlen(s); for(int i=1;i<=len;i++) num[i]=s[len-i]-'0'; return; } void Init() { len=0; memset(num,0,sizeof(num)); return; } void print() { if(!len) { putchar('0'); return; } for(int i=len;i>=1;i--) putchar(num[i]+'0'); return; } }A,B; void mod(int& x) { x%=10; return; } node mul(node x,node y) { node ret; ret.Init(); int len=x.len+y.len; for(int i=1;i<=x.len;i++) for(int j=1;j<=y.len;j++) { int tmp=x.num[i]*y.num[j]; int pos=i+j-1; ret.num[pos]+=tmp; int over=ret.num[pos]/10; mod(ret.num[pos]); ret.num[pos+1]+=over; } while(!ret.num[len]&&len>1) len--; ret.len=len; return ret; } int main() { char ca[maxl],cb[maxl]; scanf("%s%s",&ca,&cb); A.Read(ca); B.Read(cb); node ans=mul(A,B); ans.print(); return 0; } ``` ~~比较一下跟上面的有什么不同~~
by info___tion @ 2018-06-19 15:13:40


|