WA on #5,但是下载样例下来,本地测没问题
#include<bits/stdc++.h>
using namespace std;
string s, t;
string add(string x, string y) {
string ans = "";
for(int i = 0; i < max(x.size(), y.size()) + 1; i++) {
ans += '0';
}
reverse(x.begin(), x.end());
reverse(y.begin(), y.end());
if(x.size() > y.size()) {
swap(x, y);
}
for(int i = 0; i < ans.size(); i++) {
if(x[i] >= '0' && x[i] <= '9') {
ans[i] = x[i] + y[i] - '0';
}
else if(y[i] >= '0' && y[i] <= '9') {
ans[i] = y[i];
}
}
for(int i = 0; i < ans.size(); i++) {
if(ans[i] > '9') {
ans[i] -= 10, ans[i + 1]++;
}
}
for(int i = ans.size() - 1; ans.size() > 0 && (ans[i] <= '0' || ans[i] > '9'); i--) {
ans.erase(ans.size() - 1);
}
reverse(ans.begin(), ans.end());
if(ans.size() == 0) {
ans += '0';
}
return ans;
}
int main() {
cin >> s >> t;
cout << add(s, t);
return 0;
}