// C = A + B, A >= 0, B >= 0 #include<iostream> #include<vector>
usingnamespacestd;
vector<int> add(vector<int> &A, vector<int> &B)//1 { vector<int> C; int t = 0; for (int i = 0; i < A.size() || i < B.size(); i++) //2 { if (i < A.size()) t += A[i]; if (i < B.size()) t += B[i]; C.push_back(t % 10); t /= 10; } if (t) C.push_back(1); //3 return C; }
intmain() { string a, b; cin >> a >> b; vector<int> A, B; for (int i = a.size() - 1; i >= 0; i-- ) A.push_back(a[i] - '0'); for (int i = b.size() - 1; i >= 0; i -- ) B.push_back(b[i] - '0'); auto C = add(A, B); for (int i = C.size() - 1; i >= 0; i --) cout << C[i]; }
vector<int> add(string &a, string &b) { vector<int> res; reverse(a.begin(), a.end()), reverse(b.begin(), b.end()); int len1 = a.size(), len2 = b.size(), len = max(len1, len2); int t = 0; for (int i = 0; i < len; i++) { if (i < len1) t += a[i] - '0'; if (i < len2) t += b[i] - '0'; res.push_back(t % 10); t /= 10; } if (t) res.push_back(t); return res; }
intmain() { string a, b; cin >> a >> b; vector<int> res = add(a, b); for (int i = res.size() - 1; i >= 0; i--) cout << res[i]; return0; }