大佬们,我哪里错了
#include<bits/stdc++.h>
using namespace std;
#define db=double;
int kk;
string a,b;
void add(string a,string b){
int s1=a.size(),s2=b.size();
string k="";
int l=0;
if(s2>=s1){
for(int i=s1-1;i>=0;i--){
int m1,m2;
if(a[i]>='0'&&a[i]<='9')m1=a[i]-'0';
else m1=a[i]-'A'+10;
if(b[i-(s1-s2)]>='0'&&b[i-(s1-s2)]<='9')m2=b[i-(s1-s2)]-'0';
else m2=b[i-(s1-s2)]-'A'+10;
int x=m1+m2+l;
if(x<kk){
l=0;
if(kk<=10)k=(char)(x+'0')+k;
else k=(char)(x+'A'-10)+k;
}else{
l=x/kk;
x%=kk;
if(kk<=10)k=(char)(x+'0')+k;
else k=(char)(x+'A'-10)+k;
}
}
for(int i=s2-s1-1;i>=0;i--){
int m;
if(b[i]>='0'&&b[i]<='9')m=b[i]-'0';
else m=b[i]-'A'+10;
int x=m+l;
if(x<kk){
l=0;
if(kk<=10)k=(char)(x+'0')+k;
else k=(char)(x+'A'-10)+k;
}else{
l=x/kk;
if(kk<=10)k=(char)((x%kk)+'0')+k;
else k=(char)((x%kk)+'0')+k;
}
}
if(l>0)k=char(l+'0')+k;
}
else{
for(int i=s2-1;i>=0;i--){
int m1,m2;
if(a[i-(s2-s1)]>='0'&&a[i-(s2-s1)]<='9')m1=a[i-(s2-s1)]-'0';
else m1=a[i-(s2-s1)]-'A'+10;
if(b[i]>='0'&&b[i]<='9') m2=b[i]-'0';
else m2=b[i]-'A'+10;
int x=m1+m2+l;
if(x<kk){
l=0;
if(kk<=10)k=(char)(x+'0')+k;
else k=(char)(x-10+'A')+k;
}else{
l=x/kk;
x%=kk;
if(kk<=10)k=(char)(x+'0')+k;
else k=(char)(x-10+'A')+k;
}
}
for(int i=s1-s2-1;i>=0;i--){
int m;
if(a[i]>='0'&&a[i]<='9')m=a[i]-'0';
else m=a[i]-'A'+10;
int x=m+l;
if(x<kk){
l=0;
if(kk<=10)k=(char)(x+'0')+k;
else k=(char)(x-10+'A')+k;
}else{
l=x/kk;
if(kk<=10)k=(char)((x%kk)+'0')+k;
else k=(char)((x%kk)-10+'A')+k;
}
}
if(l==1)k='1'+k;
}
for(int i=0;i<k.size();i++)cout<<k[i];
}
int main(){
cin>>kk>>a>>b;
add(a,b);
return 0;
}