https://www.luogu.com.cn/problem/P1952
50pts。
#include <bits/stdc++.h>
using namespace std;
#define int long long
string ans = "";
signed main()
{
int n;
string a, b;
cin >> n >> a >> b;
int now = 0, la = a.size() - 1, lb = b.size() - 1, e = 0;
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
for (int i = 0; i <= max(la, lb) + 100; i++)
{
int al = 0, bl = 0;
if (isdigit(a[i])) al = a[i] - '0';
if (isdigit(b[i])) bl = b[i] - '0';
else if (isalpha(a[i])) al = a[i] - 'a' + 10;
else if (isalpha(b[i])) bl = b[i] - 'a' + 10;
if (i > la) al = 0;
if (i > lb) bl = 0;
int p = (al + bl) + e;
if (p % n >= 0 && p % n <= 9) ans.push_back(p % n + '0');
else ans.push_back((p % n) - 10 + 'a');
e = (p - (p % n)) / n;
}
reverse(ans.begin(), ans.end());
while (ans.front() == '0' && ans.size() > 1) ans.erase(ans.begin());
cout << ans << endl;
return 0;
}