我的程序有致命bug(在别的oj上评测发现的),但在洛谷上能ac
希望管理员大佬们能修改一下
蒟蒻不胜感激
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int a[2001]={0},b[2001]={0};
int ans[4000005]={0};
string a1,b1;
int an,bn;
void Bignum(){
for(int i=an-1;i>=0;i--){
for(int j=bn-1;j>=0;j--){
ans[(an-1)-i+(bn-1)-j]+=a[i]*b[j];
}
}
}
void check(){
for(int i=0;i<4000001;i++){
if(ans[i]>=10){
ans[i+1]+=ans[i]/10;
ans[i]%=10;
}
}
}
int main(){
cin>>a1>>b1;
an=a1.size();
bn=b1.size();
for(int i=0;i<an;i++){
a[i]=a1[i]-'0';
}
for(int i=0;i<an;i++){//此处循环an应为bn,但洛谷能过
b[i]=b1[i]-'0';
}
Bignum();
check();
int flag=0;
for(int i=4000001;i>=0;i--){
if(ans[i]!=0){
flag=i;
break;
}
}
for(int i=flag;i>=0;i--){
cout<<ans[i];
}
cout<<endl;
return 0;
}