Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: sakuragichan
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.005 second
Submitted On: 2026-10-13 20:24:32
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,s1 = 0,s2 = 0;
stack<char> arr;
cin >> n;
string s,c;
cin >> s >> c;
if (n <= 10){
for (int i = s.length()-1;i>= 0;--i){
s1 += (s[i]-'0') *pow(n,s.length()-1-i);
}
for (int i = c.length()-1;i>= 0;--i){
s2 += (c[i]-'0') *pow(n,c.length()-1-i);
}
}
else {
for (int i = s.length()-1;i>= 0;--i){
if (s[i] >= 'A' && s[i] <= 'F') {
s1 += (s[i] - 'A' + 10) * pow(n, s.length() - 1 - i);
} else {
s1 += (s[i] - '0') * pow(n, s.length() - 1 - i);
}
}
for (int i = c.length()-1;i>= 0;--i){
if (c[i] >= 'A' && c[i] <= 'F') {
s2 += (c[i] - 'A' + 10) * pow(n, c.length() - 1 - i);
} else {
s2 += (c[i] - '0') * pow(n, c.length() - 1 - i);
}
}
}
int sum = s1+s2;
while(sum > 0){
if (sum % n >= 10) {
arr.push((sum%n) + 'A' - 10);
} else {
arr.push(sum % n + '0');
}
sum /= n;
}
while(!arr.empty()){
cout << arr.top();
arr.pop();
}
}