饮溪 @ 2017-10-31 20:37:39
交了好几次不对,于是下载了几个数据本地测。。。
明明是对的啊?
比如这个:
如上图,第一个点:本地测输出0
但是评测结果说我的程序输出10?
蒟蒻求助QAQ
下面是冗长的代码:
#include<bits/stdc++.h>
using namespace std;
string st1,st2,st3,st4;
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++) st3[i]=st1[i-1];
for (int i=1;i<=lenb;i++) st4[i]=st2[i-1];
for (int i=1;i<=lena;i++) a[lena-i+1]=st3[i]-48;
for (int i=1;i<=lenb;i++) b[lenb-i+1]=st4[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-11-01 13:07:42
@Fire_Storm 输入和处理改成了这样
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 Ameyax @ 2017-11-01 13:40:52
@Sure 额
不用gets,自测可以到洛谷IDE上试试,这些问题都会有的
by Ryuuko @ 2017-11-01 13:50:22
@Sure 洛谷好像不让用gets
之前20分的代码按上面那个发的写法从0开始就可以a
by 饮溪 @ 2017-11-01 16:26:01
@Tokisaki_Kurumi 哦,谢谢你啊
by 饮溪 @ 2017-11-01 16:26:31
@Fire_Storm 谢谢!
by Sunlight9 @ 2018-01-07 12:02:58
@饮溪 我也是一样
by 哥66666 @ 2018-03-07 13:07:15
@Liso 卡了,本地对了,洛谷炸了