样例过了,但对于
99999999
1
这组数据输出为999910000,调了很久,求帮
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[130],b[130],c[130];
string s1,s2;
signed main()
{
cin>>s1>>s2;
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
int now1=0,now2=0,su1=1,su2=1;
for(int i=0;i<s1.size();i++)
{
if(su1==10000)
{
now1++;
su1=1;
}
a[now1]+=su1*(s1[i]-'0');
su1*=10;
}
for(int i=0;i<s2.size();i++)
{
if(su2==10000)
{
now2++;
su2=1;
}
a[now2]+=su2*(s2[i]-'0');
su2*=10;
}
int l=max(now1,now2)+1;
int k=0;
for(int i=0;i<=l;i++)
{
c[i]=a[i]+b[i]+k;
k=c[i]/10000;
c[i]%=10000;
}
if(a[l]==0)l--;
for(int i=l;i>=0;i--)cout<<a[i];
}