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";
}