有木有大神看看我的奇妙解法,实在是太难受了
#include<bits/stdc++.h>
#define _MAX 100001
using namespace std;
typedef long long ll;
ll l1,l2;
string s1,s2;
ll a1[_MAX],a2[_MAX],h[_MAX];
int main(){
cin>>s1>>s2;
if(s1.size()<s2.size()) swap(s1,s2);
l1=s1.size(),l2=s2.size();
for(int i=0;i<l1;i++) a1[i+1]=s1[i]-'0';
for(int i=l1-l2;i<l1;i++) a2[i+1]=s2[i-l1+l2]-'0';
for(int i=l1;i>=0;i--){
if(a1[i]+a2[i]>=10) {
h[i]=a1[i]+a2[i]-10;
a1[i-1]+=1;
if(i-1==0) a1[0]=1;
}
else h[i]=a1[i]+a2[i];
}
if(h[0]!=0) for(int i=0;i<=l1;i++) cout<<h[i];
else for(int i=1;i<=l1;i++) cout<<h[i];
return 0;
}
传送门