Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: GONGGONG
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-03 23:56:03
#include <iostream>
using namespace std;
int main(){
int n;cin>>n;
string a,b;cin>>a>>b;
int base=1;
int sumA=0,sumB=0,c,ok=1;
if((n<2)||(n>16)) ok=0;
for(int i=a.size()-1;a[i]!='\0';i--){
if((a[i]>=48)&&(a[i]<=57)){
c=a[i]-48;
sumA+=c*base;
if(c>=n) ok=0;
}else if((a[i]>=65)&&(a[i]<=70)){
c=a[i]-55;
sumA+=c*base;
}else ok=0;
base*=n;
}
base=1;
for(int i=b.size()-1;b[i]!='\0';i--){
if((b[i]>=48)&&(b[i]<=57)){
c=b[i]-48;
sumB+=c*base;
if(c>=n) ok=0;
}else if((b[i]>=65)&&(b[i]<=70)){
c=b[i]-55;
sumB+=c*base;
}else ok=0;
base*=n;
}
int sum=sumA+sumB;
string s="";
while(sum>0){
int r=sum%n;
if(r<10) s+=char(r+48);
else s+=char(r+55);
sum/=n;
}
if(ok) for(int i=s.size()-1;i>=0;i--) cout<<s[i];
else cout<<"error";
}