板子题,AC代码:
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <algorithm>
//#define int long long
using namespace std;
const int maxn=1e6+5;
string add(string a,string b){
if(a>b)swap(a,b);
int flag=0;
for(int i=0;i<a.size();i++){
int x=a.size()-i-1,y=b.size()-i-1;
int aa=a[x]-'0';
int bb=b[y]-'0';
aa+=bb;
if(flag)aa+=1;
if(aa>=10)flag=1;
else flag=0;
b[y]=aa%10+'0';
}
for(int i=b.size()-a.size()-1;i>=0;i--){
int bb=b[i]-'0';
if(flag)bb+=1;
if(bb>=10)flag=1;
else flag=0;
b[i]=bb%10+'0';
}
if(flag)b="1"+b;
return b;
}
int main() {
int t;
cin>>t;
while(t--) {
string a,b,c,d;
cin>>a>>b>>c>>d;
string x=add(a,b);
string y=add(c,d);
//cout<<x<<" "<<y<<endl;
cout<<add(x,y)<<endl;
}
}