大水题,直接高精度模拟就行了,还是高精度加法,不过这个格式java反而读取花的时间更多吧
#include <stdio.h>
#define MAX 1000010
char sum[MAX],a[MAX],b[MAX];
int main(void)
{
int N;
int i=0;
scanf("%d",&N);
getchar();
for(i=1;i<=N;++i)
{
a[i]=getchar()-'0';
getchar();
b[i]=getchar()-'0';
getchar();
}
for(i=N;i>0;--i)
{
sum[i]=a[i]+b[i];
if(sum[i]>9)
{
sum[i]-=10;
++a[i-1];
}
}
for(i=1;i<=N;++i)
{
putchar(sum[i]+'0');
}
putchar('\n');
}