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