本地测对,但是提交全错QAQ

P1303 A*B Problem

st3和st4没有开空间
by Ryuuko @ 2017-10-31 20:50:24


@[Sure](/space/show?uid=24511) 在某些IDE上都RE了
by Ryuuko @ 2017-10-31 20:52:35


蛤?什么叫“没有开空间”?
by 饮溪 @ 2017-10-31 21:13:05


@[Tokisaki\_Kurumi](/space/show?uid=36866)
by 饮溪 @ 2017-10-31 21:13:25


@[Tokisaki\_Kurumi](/space/show?uid=36866) 不用st3,st4对了第一个点。。。 然而后面的点自己测还是对的啊。。。 ```cpp #include<bits/stdc++.h> using namespace std; string st1,st2; int a[2010],b[2010],ans[4020]; int main() { cin>>st1; cin>>st2; int lena=st1.size(); int lenb=st2.size(); for (int i=1;i<=lena;i++) a[lena-i]=st1[i]-48; for (int i=1;i<=lenb;i++) b[lenb-i]=st2[i]-48; int x,l; for (int i=1;i<=lena;i++) { x=0; for (int j=1;j<=lenb;j++) { ans[i+j-1]=ans[i+j-1]+a[i]*b[j]+x; x=ans[i+j-1]/10; ans[i+j-1]=ans[i+j-1]%10; l=j; } ans[i+l]=x; } int lenans=lena+lenb; while (ans[lenans]==0&&lenans>1) lenans--; for (int aa=lenans;aa>=1;aa--) cout<<ans[aa]; cout<<endl; return 0; } ```
by 饮溪 @ 2017-10-31 21:17:20


用char数组
by Ryuuko @ 2017-11-01 07:04:19


@[Sure](/space/show?uid=24511) string的空间是动态的,没有赋值就直接访问下标就可能错误
by Ryuuko @ 2017-11-01 07:05:34


@[Sure](/space/show?uid=24511) 你第二份代码的下标是乱的,string的下标从0开始 for (int i = 0; i < lena; i++) a[lena - i] = st1[i] - 48;
by Ameyax @ 2017-11-01 09:26:47


![](https://cdn.luogu.com.cn/upload/pic/9995.png) 神奇了。。。 第一个点输入: 10 0 自测输出0 评测结果是-3-50???? ~~好绝望啊本来只是想刷道水题~~
by 饮溪 @ 2017-11-01 13:02:09


```cpp @[Fire_Storm](/space/show?uid=37070) gets(st1); gets(st2); int lena=strlen(st1); int lenb=strlen(st2); for (int i=0;i<lena;i++) a[lena-i]=st1[i]-48; for (int i=0;i<lenb;i++) b[lena-i]=st2[i]-48; 输入和处理改成了上面这样 ```
by 饮溪 @ 2017-11-01 13:06:57


| 下一页