#include<bits/stdc++.h>
using namespace std;
string in_a,in_b;
const int N=4e3+10;
int x[N],y[N],a[N],b[N],c[2*N];
int na,nb,n,m;
bool flag=false;
void in(){
cin>>in_a>>in_b;
na=in_a.size();
nb=in_b.size();
n=max(na,nb);
m=na+nb;
}
void change(){
for(int i=0;i<na;i++)x[i]=(int)in_a[i]-'0';
for(int i=0;i<nb;i++)y[i]=(int)in_b[i]-'0';
for(int i=0;i<n;i++)a[i]=x[i-(n-na)];
for(int i=0;i<n;i++)b[i]=y[i-(n-nb)];
}
void print(){
for(int i=0;i<n;i++)printf("%d",a[i]);
cout<<endl;
for(int i=0;i<n;i++)printf("%d",b[i]);
cout<<endl;
}
void calc(){
for(int i=(n-na);i<n;i++)for(int j=(n-nb);j<n;j++)c[i+j]+=a[i]*b[j];
int tmp=0;
// for(int i=(n-na)+(n-nb);i<m-1+(n-na)+(n-nb);i++)printf("%d ",c[i]);
// cout<<endl;
for(int i=m-1;i>=0;i--){
int tot=c[i];
c[i]=(c[i]+tmp)%10;
tmp=(tot+tmp)/10;
// printf("tmp=%d\n",tmp);
}
if(tmp>0){
cout<<tmp;
flag=true;
}
// for(int i=(n-na)+(n-nb);i<m-1+(n-na)+(n-nb);i++)printf("%d ",c[i]);
// cout<<endl;
}
void out(){
for(int i=0/*(n-na)+(n-nb)*/;i<m-1+(n-na)+(n-nb);i++){
if(c[i]!=0)flag=true;
if(flag)printf("%d",c[i]);
}
}
int main(){
in();//输入
change();//转换
// print();//调试输出
calc();//计算
out();//输出
return 0;
}
自测的小数据都没问题的,大数据就过不了,不知道为啥
能说出蒟蒻错哪里并帮助蒟蒻AC的有关