Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: punzacp555

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.004 second

Submitted On: 2026-09-26 21:11:12

#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int base;
    cin >> base;
    string a, b;
    cin >> a >> b;

    if(a[0]-'0' == 0 && a[0]-'0' == 0) {
        cout << 0;
        return 0;
    }

    int aa = 0, bb = 0;
    int sza = a.size(), szb = b.size();

    for(int i=0; i<sza; i++) {
        if(a[i]-'A' <= 5 && a[i]-'A' >= 0) {
            aa += (a[i]-'A'+10) * pow(base, sza-i-1);
            continue;
        }
        aa += (a[i]-'0') * pow(base, sza-i-1);
    }

    for(int i=0; i<szb; i++) {
        if(b[i]-'A' <= 5 && b[i]-'A' >= 0) {
            bb += (b[i]-'A'+10) * pow(base, szb-i-1);
            continue;
        }
        bb += (b[i]-'0') * pow(base, szb-i-1);
    }

    int sum = aa + bb;
    // if(!sum) {
    //     cout << 0;
    //     return 0;
    // }   

    string ans = "";
    int rem;
    while(sum) {
        rem = sum - (sum/base*base);
        ans = (rem > 9 ? char(rem + 'A' - 10) : char(rem + '0')) + ans;
        sum /= base;
    }

    cout << ans;

    return 0;
}