高精度vector求调
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int l1,l2;
vector<int> a;
vector<int> b;
vector<int> c;
vector<int> v;
signed main(void) {
cin>>s1>>s2;
l1=s1.size();
l2=s2.size();
for(int i=0; i<l1; i++) {
a.push_back(s1[i]-48);
}
for(int i=0; i<l2; i++) {
b.push_back(s2[i]-48);
}
while(1) {
if(a.empty()==1 && b.empty()==1){
break;
}
if(a.empty()==1) {
a.push_back(0);
}
if(b.empty()==1) {
b.push_back(0);
}
if(a.back()+b.back()<10) {
c.push_back(a.back()+b.back());
a.pop_back();
b.pop_back();
} else if(a.back()+b.back()>=10) {
c.push_back(a.back()+b.back()-10);
a.pop_back();
b.pop_back();
// if((a.empty()==1 || b.empty()==1) && !(a.empty==1 && b.empty==1)){
if(a.empty()==1 && b.empty()!=1) {
int k=b.back();
b.pop_back();
b.push_back(k+1);
} else if(a.empty()!=1 && b.empty()!=1) {
a.push_back(1);
} else if(a.empty()!=1 && b.empty()==1) {
int k=a.back();
a.pop_back();
a.push_back(k+1);
} else {
int k=a.back();
a.pop_back();
a.push_back(k+1);
}
}
}
while(!c.empty()) {
cout<<c.back();
c.pop_back();
}
return 0;
}