Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: goine
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-11 21:52:44
#include<bits/stdc++.h>
using namespace std;
map<char, int> trans = {
{'0', 0},
{'1', 1},
{'2', 2},
{'3', 3},
{'4', 4},
{'5', 5},
{'6', 6},
{'7', 7},
{'8', 8},
{'9', 9},
{'A', 10},
{'B', 11},
{'C', 12},
{'D', 13},
{'E', 14},
{'F', 15}
};
map<int, char> _trans = {
{0, '0'},
{1, '1'},
{2, '2'},
{3, '3'},
{4, '4'},
{5, '5'},
{6, '6'},
{7, '7'},
{8, '8'},
{9, '9'},
{10, 'A'},
{11, 'B'},
{12, 'C'},
{13, 'D'},
{14, 'E'},
{15, 'F'}
};
int main() {
int base;
string num1;
string num2;
cin >> base >> num1 >> num2;
int sum1 = 0;
int sum2 = 0;
for (int i = 0; i < num1.length(); i++) {
sum1 *= base;
sum1 += trans[num1[i]];
}
for (int i = 0; i < num2.length(); i++) {
sum2 *= base;
sum2 += trans[num2[i]];
}
int sum = sum1 + sum2;
string output = "";
while (sum > 0) {
int mod = sum % base;
output += _trans[mod];
sum /= base;
}
reverse(output.begin(), output.end());
cout << output << '\n';
}