Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: GONGGONG

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-04 01:53:30

#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="";
    if(sum==0) cout<<0;
    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];
}