U363403高精模板110分,满分150分。
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
string s1,s2;
int a[N],b[N],c[N],f=0;
int main() {
ios::sync_with_stdio(0);
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>s1>>s2;
for(int i=0; i<s1.size(); i++) {
if(s1[i]=='-') {
f++;
continue;
}
a[s1.size()-i]=s1[i]-'0';
}
for(int i=0; i<s2.size(); i++) {
if(s2[i]=='-') {
f++;
continue;
}
b[s2.size()-i]=s2[i]-'0';
}
if(f%2==1) {
cout<<"-";
}
int x=0;
for(int i=1; i<=s1.size(); i++) {
x=0;
for(int j=1; j<=s2.size(); j++) {
c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+s2.size()]=x;
}
int len=s1.size()+s2.size();
while(c[len]==0&&len>1) {
len--;
}
for(int i=len; i>0; i--) {
cout<<c[i];
}
return 0;
}