Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: eefirefire

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-04 20:24:55

#include <bits/stdc++.h>

using namespace std;

int binaries(char a){
    if(a == 'A'){
        return 10;
    }
    if(a == 'B'){
        return 11;
    }
    if(a == 'C'){
        return 12;
    }
    if(a == 'D'){
        return 13;
    }
    if(a == 'E'){
        return 14;
    }
    if(a == 'F'){
        return 15;
    }
}


string reverse_of_binaries(int a){
    if(a == 10){
        return "A";
    }
    else if(a == 11){
        return "B";
    }
    else if(a == 12){
        return "C";
    }
    else if(a == 13){
        return "D";
    }
    else if(a == 14){
        return "E";
    }
    else if(a == 15){
        return "F";
    }
    else{
        return to_string(a);
    }
}


int main(){
    int base;
    int total_sum = 0;
    string num1, num2;

    cin >> base >> num1 >> num2;

    int sum1 = 0;
    for(int i = 0; i < num1.size(); i++){
        if(num1[i] == '0' || num1[i] == '1' || num1[i] == '2' || num1[i] == '3' || num1[i] == '4' || num1[i] == '5' || num1[i] == '6' || num1[i] == '7' || num1[i] == '8' || num1[i] == '9'){
            sum1 += (num1[i] - '0') * pow(base,  (num1.size() - 1 - i));
        }
        else{
            sum1 += (binaries(num1[i])) * pow(base,  (num1.size() - 1 - i));
        }
    }
    int sum2 = 0;
    for(int i = 0; i < num2.size(); i++){
        if(num2[i] == '0' || num2[i] == '1' || num2[i] == '2' || num2[i] == '3' || num2[i] == '4' || num2[i] == '5' || num2[i] == '6' || num2[i] == '7' || num2[i] == '8' || num2[i] == '9'){
            sum2 += (num2[i] - '0') * pow(base,  (num2.size() - 1 - i));
        }
        else{
            sum2 += (binaries(num2[i])) * pow(base,  (num2.size() - 1 - i));
        }
    }
    total_sum = sum1 + sum2;
    string answer = "";

    while(total_sum != 0){
        answer += reverse_of_binaries(total_sum % base);
        total_sum /= base; 
    }

    reverse(answer.begin(), answer.end());

    cout << answer;
}