记录一下常用的模板
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <string.h>
using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
#define root 1,n,1
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
inline ll read() {
int x=0,w=1;char ch=getchar();
for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;
for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';
return x*w;
}
#define maxn 1000000
char a[6000],b[6000];int c[7000];
char aa[6000],bb[6000];
int main() {
int T;cin>>T;
while(T--) {
memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));
memset(aa,0,sizeof(aa));memset(bb,0,sizeof(bb));
cin>>a>>b;
int lena=strlen(a),lenb=strlen(b);
for(int i=0;i<lena;i++) aa[i]=a[lena-i-1];
for(int i=0;i<lenb;i++) bb[i]=b[lenb-i-1];
if(lena<lenb) swap(aa,bb),swap(lena,lenb);
//补全长度
for(int i=lenb;i<lena;i++) {
bb[i]='0';
}
int jw;int lenc;
for(int i=0;i<lena;i++) {
c[i]=aa[i]-'0'+bb[i]-'0'+jw;
jw=c[i]/10;
c[i]%=10;
if(i==lena-1) {
if(jw!=0) {
c[i+1]=jw;lenc=lena+1;
jw=0;
}else {
lenc=lena;
}
}
}
int gg=0;
for(int i=lenc-1;i>=0;i--) {
//去除前导零
if(c[i]==0&&gg==0&&i!=0) {
continue;
}
if(c[i]!=0){
gg=1;
}
cout<<c[i];
}
cout<<endl;
}
return 0;
}